不料,再一次,出门没看老黄历,风尘仆仆赶到车站,才发现没带身份证,只好灰溜溜的打道回府了。无聊的周末便只靠这篇文字来打发了。没尝到老家的水果,分享一张照片,看看男友家这只傲娇的羊。

firefox添加 java插件 火狐浏览器加载java插件_selenium

言归正传...... 

firefox添加 java插件 火狐浏览器加载java插件_firefox_02

Selenium WebDriver支持不同的浏览器,而Webdriver启动项目时,首先需要启动浏览器的driver,因此本篇主要讲解Selenium Java如何启动各种浏览器,包括chrome、firefox、IE......

1

Chrome

Chrome浏览器要安装与自己操作系统下的chrome版本对应的chromedriver插件。以下是Chrome版本与ChromeDriver版本的映射表:

firefox添加 java插件 火狐浏览器加载java插件_selenium_03

在Chrome浏览器中输入:chrome://version 查看自己的Chrome信息

firefox添加 java插件 火狐浏览器加载java插件_firefox添加 java插件_04

根据对照表,下载Chromedriver版本。不同的ChromeDriver均可在该路径下载:http://chromedriver.storage.googleapis.com/index.html

firefox添加 java插件 火狐浏览器加载java插件_firefox添加 java插件_05

启动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的路径,请将其设置为自己的本地路径

firefox添加 java插件 火狐浏览器加载java插件_firefox_06

方法二:将项目中的Chromedriver替换为自己的版本。

firefox添加 java插件 火狐浏览器加载java插件_macos_07

2

Firefox

Firefox浏览器不需要驱动程序,所以可以直接启动可执行文件。在火狐浏览器地址栏输入:about:buildconfig,回车,查看详情。

firefox添加 java插件 火狐浏览器加载java插件_macos_08

注意: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添加 java插件 火狐浏览器加载java插件_macos_09

以下是各个操作系统firefox的默认安装路径

firefox添加 java插件 火狐浏览器加载java插件_macos_10

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的路径,请将其设置为自己的本地路径.

firefox添加 java插件 火狐浏览器加载java插件_firefox添加 java插件_11

注意

(1). IE的放大比例为要设置100%

(2). 启动IE时,需关闭如下图中4个区域的保护模式:

firefox添加 java插件 火狐浏览器加载java插件_selenium_12