selenium(webdriver)學習筆記1--ChromeDriver
阿新 • • 發佈:2019-01-02
用webdriver啟動firefox時很簡單,以下程式碼就可以。
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com");
driver.close();
但是啟動Google Chrome瀏覽器,就比較複雜了。
如果還是用以下程式碼,會報錯。
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
driver.close();
錯誤資訊:
Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
at com .google.common.base.Preconditions.checkState(Preconditions.java:197)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:110)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
at org.openqa.selenium.chrome.ChromeDriverService $Builder.findDefaultExecutable(ChromeDriverService.java:118)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:291)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:82)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:117)
at webdrivers.UseChromeDriver.main(UseChromeDriver.java:9)
解決辦法:下載chromedriver
下載地址: https://sites.google.com/a/chromium.org/chromedriver/downloads
請檢視自己Google Chrome的版本下載對應的chromedriver.
對了,還有一點,下圖是某一個版本的所有chromedriver,沒有win64的,我試驗過了
win64的作業系統用win32的就行。
下載好之後解壓,得到chromedriver,程式碼變更如下:
System.setProperty("webdriver.chrome.driver", "D:/drivers/chromedriver_win32-2.14/chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
driver.close();
原因:
ChromeDriver 是一個standalone server,是跟the Chromium team 合作開發的。
它由三部分組成,chrome瀏覽器,Selenium project (“the driver”) 提供的language bindings(這個我也不知道是啥,我猜是selenium-chrome-driver-*.jar),還有就是可執行的chromedriver,就是之前程式裡缺少的。這個可執行的chromedriver是另外兩個的橋樑。
server要求chrome瀏覽器安裝在預設路徑
OS | 安裝路徑 |
---|---|
Linux | /usr/bin/google-chrome |
Mac | /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome |
windows7 | C:\Program Files (x86)\Google\Chrome\Application\chrome.exe |
Windows XP | %HOMEPATH%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe |
對於linux系統,/usr/bin/google-chrome是真正安裝路徑的symlink就行。