一、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文件夾中,最終工程目錄結果如下:

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

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 相同位置,如下圖:

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,顯示如下的。

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

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

如果你的系統(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();
}