上一篇文章 入門(mén)和 Hello World 實(shí)例 中,我們提供了一個(gè)最簡(jiǎn)單的 Selenium 上手的例子。
但是某一天,突然發(fā)現(xiàn)相同的代碼居然運(yùn)行報(bào)錯(cuò)了。這是怎么回事呢?
日志排查
日志中其實(shí)提示的很明顯了:Chrome瀏覽器和Chrome WebDriver的版本不匹配。當(dāng)前WebDriver只支持Chrome瀏覽器版本114.
先檢查一下我們的Chrome WebDriver版本是114:
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver-114\\chromedriver.exe");
再檢查Chrome瀏覽器的版本號(hào),發(fā)現(xiàn)是122
原來(lái)是Chrome瀏覽器默認(rèn)的自動(dòng)升級(jí),升級(jí)到了最新的版本。
遇到的問(wèn)題
除了瀏覽器會(huì)自動(dòng)升級(jí)導(dǎo)致出現(xiàn)問(wèn)題,其實(shí)手動(dòng)下載版本還有很多問(wèn)題,比如相同的代碼,換個(gè)環(huán)境就又要再次下載相應(yīng)環(huán)境瀏覽器的版本對(duì)應(yīng)的WebDriver了。
所以,能不能不要手動(dòng)配置webdriver.exe,要是有一種機(jī)制能夠自動(dòng)下載指定的版本就好了。
就像我們電腦安裝的360驅(qū)動(dòng)大師一樣,不用我們手動(dòng)去下載驅(qū)動(dòng),能不能有這樣的驅(qū)動(dòng)大師?
幸運(yùn)的是,還真有這樣的機(jī)制,這就是WebDriverManager.
WebDriverManager驅(qū)動(dòng)管理器
沒(méi)有驅(qū)動(dòng)管理器時(shí),我們需要很多繁瑣的工作:
- 查看瀏覽器版本
- 手動(dòng)下載對(duì)應(yīng)版本的WebDriver驅(qū)動(dòng)
- 放到本地目錄,代碼中配置路徑
- 某天瀏覽器自動(dòng)升級(jí)了
- 重復(fù) 步驟1、步驟2、步驟3
想想都覺(jué)得麻煩。
但是有了WebDriverManager,它會(huì)自動(dòng)得檢測(cè)我們安裝的Chrome瀏覽器(或者其它瀏覽器)的版本,然后自動(dòng)下載對(duì)應(yīng)版本的WebDriver。這個(gè)過(guò)程完全是自動(dòng)的,把之前那些繁瑣的工作都省去了。
WebDriverManager的使用
使用起來(lái)很簡(jiǎn)單,把我們第一篇博客中的代碼做一點(diǎn)修改就可以了。
- 在pom.xml 引入webdrivermanager的依賴
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.7.0</version>
</dependency>
- 刪掉手動(dòng)配置WebDriver的代碼
// System.setProperty("webdriver.chrome.driver", "C:\\chromedriver-114\\chromedriver.exe");
- 添加配置驅(qū)動(dòng)管理器的代碼
WebDriverManager.chromedriver().setup();
只需要這一行代碼,其它代碼和第一篇博客一樣,不用做任何更改!
啟動(dòng)應(yīng)用,程序運(yùn)行正常!
觀察控制臺(tái)打印的日志,可以看到WebDriverManager會(huì)自動(dòng)下載驅(qū)動(dòng)!!
WebDriverManager檢測(cè)到我們的Chrome版本是122,于是它會(huì)去自動(dòng)下載122版本的驅(qū)動(dòng),然后配置。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-843393.html
Error reading commands.properties, using local instead
Using chromedriver 122.0.6261.128 (resolved driver for Chrome 122)
Downloading https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.128/win64/chromedriver-win64.zip
Extracting driver from compressed file chromedriver-win64.zip
Exporting webdriver.chrome.driver as C:\Users\test\.cache\selenium\chromedriver\win64\122.0.6261.128\chromedriver.exe
到這里,我們就介紹完了使用WebDriverManager自動(dòng)下載和配置WebDriver。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-843393.html
到了這里,關(guān)于Selenium 自動(dòng)化 —— 使用WebDriverManager自動(dòng)下載驅(qū)動(dòng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!