5、对于第4点提到的关闭保护模式,还可以使用代码关闭:
1 //启动IE浏览器并关闭保护模式
2 public static void StartIEAndCloseProtectedMode(){
3 System.out.println("start firefox browser...");
4 System.setProperty("webdriver.ie.driver", "files\IEDriverServer.exe");
5 DesiredCapabilities dc = DesiredCapabilities.internetExplorer();
6 dc.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
7
8 //IE默认启动保护模式,要么手动在浏览器的设置中关闭保护模式,要么在代码中加上这一句,即可
9 dc.setCapability("ignoreProtectedModeSettings", true);
10 WebDriver driver = new InternetExplorerDriver(dc);
11 driver.get("http://www.baidu.com/");
12 System.out.println("start firefox browser succeed...");
13 }
============================Firefox的firebug插件参数设置(补充)=================================
使用Selenium2(webdriver)启动firefox且自动加载firebug插件时,切换到firebug插件的网络和cookies部分时,提示面板已被禁用,如下图所示:
于是我们输入about:config在firefox设置页面试着去找下是否有什么参数控制着面板的禁用/启用,果然被我找到如下两个参数:
cookies面板 — extensions.firebug.cookies.enableSites
网络面板 — extensions.firebug.net.enableSites
Tips:
firefox设置页面参数非常的多,如果我们不知道某项设置的参数名时,我们可以手工在firefox界面设置参数的值,然后根据我们定制的值去about:config里面找可以找到,从而找到我们要设置的参数。
在代码中设置这两个参数的值为true,运行结果如下:
代码如下:
1 public static void StartFireFoxLoadPlugin(){
2 System.out.println("start firefox browser...");
3 System.setProperty("webdriver.firefox.bin",
4 "D:/Program Files/Mozilla Firefox/firefox.exe");
5 File file = new File("files/firebug-1.9.0-fx.xpi");
6 FirefoxProfile profile = new FirefoxProfile();
7 try {
8 profile.addExtension(file);
9 } catch (IOException e) {
10 e.printStackTrace();
11 }
12 //设置firebug版本
13 profile.setPreference("extensions.firebug.currentVersion", "1.9.0");
14 //自动打开firebug
15 profile.setPreference("extensions.firebug.allPagesActivation", "on");
16 //设置启用firebug网络面板
17 profile.setPreference("extensions.firebug.net.enableSites", true);
18 //设置启用firebugcookies面板
19 profile.setPreference("extensions.firebug.cookies.enableSites", true);
20
21 WebDriver driver = new FirefoxDriver(profile);
22 driver.get("http://www.baidu.com");
23 System.out.println("start firefox browser succeed...");
24 }