不料,再一次,出门没看老黄历,风尘仆仆赶到车站,才发现没带身份证,只好灰溜溜的打道回府了。无聊的周末便只靠这篇文字来打发了。没尝到老家的水果,分享一张照片,看看男友家这只傲娇的羊。
言归正传......
Selenium WebDriver支持不同的浏览器,而Webdriver启动项目时,首先需要启动浏览器的driver,因此本篇主要讲解Selenium Java如何启动各种浏览器,包括chrome、firefox、IE......
1
Chrome
Chrome浏览器要安装与自己操作系统下的chrome版本对应的chromedriver插件。以下是Chrome版本与ChromeDriver版本的映射表:
在Chrome浏览器中输入:chrome://version 查看自己的Chrome信息
根据对照表,下载Chromedriver版本。不同的ChromeDriver均可在该路径下载:http://chromedriver.storage.googleapis.com/index.html
启动Chrome的代码段:
if (browser.equalsIgnoreCase("chrome")) {
// open chrome browser
System.out.println("start chrome browser...");
System.setProperty("webdriver.chrome.driver","./chromedriver");
driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.get(URL);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
注意:您需要修改ChromeDriver的路径
方法一: 该行代码用设置Chromedriver的路径,请将其设置为自己的本地路径
方法二:将项目中的Chromedriver替换为自己的版本。
2
Firefox
Firefox浏览器不需要驱动程序,所以可以直接启动可执行文件。在火狐浏览器地址栏输入:about:buildconfig,回车,查看详情。
注意:firefoxdriver版本一定不能太高。
启动firefox的代码段:
if(browser.equalsIgnoreCase("firefox")){
// open chrome browser
System.out.println(" start FireFox driver");
System.setProperty("webdriver.firefox.bin", "/Applications/Firefox.app/Contents/MacOS/firefox-bin"); //Set firefox path
driver = new FirefoxDriver();
driver.get(URL);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
此处需要将firefox路径设置为你安装firefox.exe的路径(如果你的firefox是默认安装,这句代码也可以不用写)。
以下是各个操作系统firefox的默认安装路径
Webdriver在启动浏览器时,启动的是一个干净的、没有任务、插件及cookies信息的浏览器。即使你本机的firefox安装了某些插件,webdriver启动firefox也是没有这些插件。单位了便于调试,需要在启动firefox时加载插件,以下以firebug插件为例。
if(browser.equalsIgnoreCase("firefox")){
// open chrome browser
System.out.println(" start FireFox driver");
System.setProperty("webdriver.firefox.bin", "/Applications/Firefox.app/Contents/MacOS/firefox-bin");
File firebug = new File("./firebug-2.0.19-fx.xpi");
FirefoxProfile firefoxprofile = new FirefoxProfile();
try {
firefoxprofile.addExtension(firebug);
} catch (IOException e) {
e.printStackTrace();
}
firefoxprofile.setPreference("extensions.firebug.currentVersion", "2.0.19");
firefoxprofile.setPreference("extensions.firebug.allPagesActivation", "on");
WebDriver driver = new FirefoxDriver(firefoxprofile);
//driver = new FirefoxDriver();
driver.get(URL);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
3
IE
IE启动和chrome类似也需要下载相应的驱动。IE的驱动程序分为32位和64位,这个需要根据自己本机的浏览器弄清楚并选择正确。
if(browser.equalsIgnoreCase("ie")){
System.setProperty("webdriver.ie.driver", "IEDriver PATH");
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
capabilities.setCapability("ignoreProtectedModeSettings",true);
driver = new InternetExplorerDriver(capabilities);
}
该行代码用设置IEDriver的路径,请将其设置为自己的本地路径.
注意:
(1). IE的放大比例为要设置100%
(2). 启动IE时,需关闭如下图中4个区域的保护模式: