selenium 筆記 --- 打開瀏覽器【Java】

一、Selenium WebDriver 依賴注入 【Maven】

#注意版本可以根據自己需求定
<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.5.3</version>     
</dependency>

#建議版本統(tǒng)一
<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,下載時還得根據自己的系統(tǒng)和版本。例如我是win 64位,那么我可以下載IEDriverServer_x64_3.5.0.zip,下載完成后解壓得到最終的IEDriverServer.exe文件。

下載完成后的,我們回到新建好的Senlenium maven項目工程(新建過程:http://www.itdecent.cn/p/6ca7bbcdf2dd ),在項目名中我們可以新建個名為drivers的文件夾,再把已經下載好的IEDriverServer.exe文件復制到該新建的drivers文件夾中,最終工程目錄結果如下:

image.png

1.2、 IE的配置

配置IE,打開IE選項,打開安全標簽,如下圖,設置紅框部分,設置每個區(qū)域的 “啟動保護模式”,要嘛都勾選,要嘛都不勾選。

image.png

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() {
//        設置系統(tǒng)變量,并設置iedriver的路徑為系統(tǒng)屬性值
        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 相同位置,如下圖:

image.png

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() {
//        設置系統(tǒng)變量,并設置chromedriver的路徑為系統(tǒng)屬性值
        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() {
//        設置系統(tǒng)變量,并設置 geckodriver 的路徑為系統(tǒng)屬性值
        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 系統(tǒng)微軟推出了全新的Edge瀏覽器,同樣上面提到Selenium 2.47.1版本開始開始支持這一瀏覽器,但是你的Win 10的build版本必須大于或者等于10240版本也就是說你的edge瀏覽器版本需要是10240版本以上,那如何去查看自己的系統(tǒng)版本,很簡單打開控制臺,輸入ver,顯示如下的。

image.png

通常edge版本跟系統(tǒng)版本是一致的,但是如果你真的想查看edge版本,只需要打開edge的設置,便可看到:

image.png

另外值得注意的是從微軟官方 https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/webdriver-commands/ 中我們可以得知,如果你想使用XPath Selector(后面會講這種重要的頁面定位方式)那么你的build版本需要大于等于10586。

image.png

如果你的系統(tǒng)滿足要求,那恭喜你可以繼續(xù)往下。

Edge跟IE類似,同樣我們需要去下載對應的driver,下載地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ ,需要注意的是根據你上面所查到的系統(tǒng)版本去下載對應的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");
//        啟動 Edge瀏覽器
        WebDriver driver = new EdgeDriver();
    }

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容