首先搭建火狐插件开发环境:
然后编写一个简单的firefox插件
var buttons = require('sdk/ui/button/action'); var tabs = require("sdk/tabs"); var button = buttons.ActionButton({ id: "mozilla-link", label: "Visit Mozilla", icon: { "16": "./icon-16.png", "32": "./icon-32.png", "64": "./icon-64.png" }, onClick: handleClick }); function handleClick(state) { tabs.open("https://www.mozilla.org/"); }
插件编写参考自:https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_started
最后一步就是在selenium中使用了,没用过selenium的朋友可以不看下面的
System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox.exe"); TemporaryFilesystem.setTemporaryDirectory(new File( "D:/workspace/firefox/seleniumTemp/")); FirefoxProfile firefoxProfile = new FirefoxProfile(new File( "D:/workspace/firefox/profiles/test/")); File cookieWriter = new File("rwfile.xpi"); try { firefoxProfile.addExtension(cookieWriter); //设置插件相关参数 参数格式为 extensions.插件名.参数名 // 设置插件版本 firefoxProfile.setPreference("extensions.rwfile.currentVersion", "1.0"); //默认情况下通过selenium加载的插件是被火狐禁用的,设置下面几个参数就可以启用了 firefoxProfile.setPreference( "extensions.rwfile.console.enableSites", true); firefoxProfile.setPreference("extensions.rwfile.net.enableSites", true); firefoxProfile.setPreference( "extensions.rwfile.script.enableSites", true); firefoxProfile.setPreference( "extensions.rwfile.allPagesActivation", "on"); } catch (IOException e) { e.printStackTrace(); } WebDriver driver = new FirefoxDriver(firefoxProfile); driver.get("http://www.xhalj.com/");