selenium 笔记 --- 打开浏览器【Java】

一、Selenium WebDriver 依赖注入 【Maven】

#注意版本可以根据自己需求定
<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.5.3</version>     
</dependency>
#建议版本统一
<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <version>3.5.3</version>
</dependency>

二、selenium打开各浏览器(chrome 、 firefox 、 ie 、 edge)

1.1、IEDriverServer下载与配置

我们可以从 http://selenium-release.storage.googleapis.com/index.html 下载,如果该地址打不开,可以用淘宝的镜像地址:https://npm.taobao.org/mirrors/selenium/

IEDriverServer 下载时得注意,你用的是什么版本的Selenium 就在对应版本里面找IEDriverServer。

例如我们现在用的是Selenium 3.5.0版本,那么我们就到3.5文件里面去下载对应的IEDriverServer,下载时还得根据自己的系统和版本。例如我是win 64位,那么我可以下载IEDriverServer_x64_3.5.0.zip,下载完成后解压得到最终的IEDriverServer.exe文件。

下载完成后的,我们回到新建好的Senlenium maven项目工程(新建过程:http://www.jianshu.com/p/6ca7bbcdf2dd ),在项目名中我们可以新建个名为drivers的文件夹,再把已经下载好的IEDriverServer.exe文件复制到该新建的drivers文件夹中,最终工程目录结果如下:

1.3、 启动IE浏览器

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
public class OpenBrowserTest {
    public static void main(String args[]) {
        openIE();
    private static void openIE() {
//        设置系统变量,并设置iedriver的路径为系统属性值
        System.setProperty("webdriver.ie.driver", ".\\drivers\\IEDriverServer.exe");
//        实例化 InternetExplorerDriver
        WebDriver driver = new InternetExplorerDriver();

2.1、Chrome 浏览器

ChromeDriver下载地址:

chromedriver下载时也需要下载到匹配的版本,特别是chrome浏览器和chromedriver的版本需要匹配。那如何查看自己的chrome需要下载哪个版本的chromedriver呢?通常使用最新版的chrome和最新版的chromedriver便可,但如果你并非都是最新版的,那么可以到:https://sites.google.com/a/chromium.org/chromedriver/downloads这里面去查看到你的哪个版本的chromedriver支持你所使用的chrome版本。

当确定好符合你使用的chromedriver版本时,可以到http://chromedriver.storage.googleapis.com/index.html,国内用户也可以到淘宝npm镜像(http://npm.taobao.org/mirrors/chromedriver)去下载对应版本的chromedriver版本。最后将下载下来的chromedriver解压后放于跟IEDriverServer.exe 相同位置,如下图:

2.2、 启动Chrome浏览器

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class OpenBrowserTest {
    public static void main(String args[]) {
        openChrome();
    private static void openChrome() {
//        设置系统变量,并设置chromedriver的路径为系统属性值
        System.setProperty("webdriver.chrome.driver", ".\\drivers\\chromedriver.exe");
//        实例化ChromeDriver
        WebDriver driver = new ChromeDriver();

3.1、Firefox 浏览器

火狐浏览器得分两种情况处理:

1、 当火狐的版本<=47时,我们不需要额外的设置。当时如果安装时没有使用默认安装路径,那么和使用默认安装路径在代码处理上会有点不同:
  • 默认安装路径,我们可以直接实例化一个FirefoxDriver,便可:
  •     public static void main(String args[]) {
            openFirefoxDef();
        private static void openFirefoxDef(){
     //       实例化 FirefoxDriver, 启动Firefox
            WebDriver driver = new FirefoxDriver();
    
  • 如果火狐不是默认安装路径,你需要制定火狐按路径:
  •     public static void main(String args[]) {
            openFireFoxTest();
        public void openFireFoxTest(){
    //        指定firefox 安装路径
            System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
    //        启动firefox浏览器
            WebDriver driver = new FirefoxDriver();
    
    2、 当火狐版本V48+时,那么想启动火狐浏览器,我们得去下载火狐对应的geckodriver。下载地址:https://github.com/mozilla/geckodriver/releases,基本下载最新版便可。那么我看下这时我们如何启动Firefox:
    #注意这里只是支持firefox默认安装C盘的情况
        public static void main(String args[]) {
            openFirefoxByGeck();
        private static void openFirefoxByGeck() {
    //        设置系统变量,并设置 geckodriver 的路径为系统属性值
            System.setProperty("webdriver.gecko.driver", ".\\drivers\\geckodriver.exe");
    //        实例化 FirefoxDriver
            WebDriver driver = new FirefoxDriver();
    #要启动firefox自定义安装位置会报PATH没有firefox二进制文件,处理如下:
     FirefoxOptions options = new FirefoxOptions();
     options.setBinary("D:\\Firefox\\firefox.exe");    //导入firefox安装路径
     System.setProperty("webdriver.gecko.driver","./driver/geckodriver.exe");
     driver = new FirefoxDriver(options);
    

    4.1、 Edge浏览器

    win 10 系统微软推出了全新的Edge浏览器,同样上面提到Selenium 2.47.1版本开始开始支持这一浏览器,但是你的Win 10的build版本必须大于或者等于10240版本也就是说你的edge浏览器版本需要是10240版本以上,那如何去查看自己的系统版本,很简单打开控制台,输入ver,显示如下的。

    如果你的系统满足要求,那恭喜你可以继续往下。

    Edge跟IE类似,同样我们需要去下载对应的driver,下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ ,需要注意的是根据你上面所查到的系统版本去下载对应的MicrosoftWebDriver,不然会报错。而且下载有两种一种是MicrosoftWebDriver.exe文件,一种是MicrosoftWebDriver.msi文件,如果你下载到的是.msi文件,那就双击运行按正常软件安装便可。如果你下载到的是MicrosoftWebDriver.exe文件,那就直接剪切放进项目的drivers文件夹中:

    4.2、启动Edge浏览器

    我们还是直接在OpenBrowser_Test类中添加如下方法:

        public static void main(String args[]) {
            openEdge();
        private static void openEdge() {
    //        指定MicrosoftWebDriver路径
            System.setProperty("webdriver.edge.driver", ".\\drivers\\MicrosoftWebDriver.exe");