上一次我實測FF webdriver 加載firefoxhttp://www.cnblogs.com/tobecrazy/p/3997375.htmlhtml
那麼問題就來了,既然能加載firebug可否在運行時候直接激活firebugweb
效果以下:url
針對這個狀況,咱們有兩種solutionsspa
方法1:使用firebug的快捷鍵F12激活firebugfirefox
不過這須要使用Actions class 的sendKeys method,使用sendKeys方法別忘了添加perform() 方法 不然不執行的代理
File file=new File("C:\\webdriver\\firebug-2.0.4-fx.xpi");//設置Firebug路徑 FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("network.proxy.type", 2); profile.setPreference("network.proxy.autoconfig_url", "http://proxy.successfactors.com:8083"); //自動代理配置 try { //add firebug profile.addExtension(file); profile.setPreference("extensions.firebug.currentVersion", "2.0.4");//設置firebug 版本 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } WebDriver driver = new FirefoxDriver(profile); driver.get("http://www.dbyl.cn"); Actions actions=new Actions(driver); //F12 is a short cut of active firebug //do not forget perform actions.sendKeys(Keys.F12).perform(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
另一種方法是直接使用Firefox的setPreferencecode
咱們注意到:FF 的extensions.firebug.allPagesActivation設置爲ON,firebug會被activeorm
File file=new File("C:\\webdriver\\firebug-2.0.4-fx.xpi");//設置Firebug路徑 FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("network.proxy.type", 2); profile.setPreference("network.proxy.autoconfig_url", "http://proxy.successfactors.com:8083"); //自動代理配置 try { //add firebug profile.addExtension(file); profile.setPreference("extensions.firebug.currentVersion", "2.0.4");//設置firebug 版本 //active firebug extensions profile.setPreference("extensions.firebug.allPagesActivation", "on"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } WebDriver driver = new FirefoxDriver(profile); driver.get("http://www.dbyl.cn"); Actions actions=new Actions(driver); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);