1、環境
win10(64)、selenium(V.3.141.59)、chrome(V.79.0.3945.117,64)
2、
本地運行selenium,模擬用戶跟瀏覽器交互,代碼如下:
System.setProperty("webdriver.chrome.driver", "C:\\webdriver\\chromedriver");
WebDriver driver = new ChromeDriver();
driver.get(indexUrl);
運行代碼時,報錯,信息如下:
java.lang.IllegalStateException: The driver executable does not exist: C:\webdriver\chromedriver
at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:146)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:141)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:35)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:159)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:355)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriver
錯誤信息提示的路徑都已經配置好,系統path中也指到到C:\webdriver,路徑是沒有問題的。在網上找了一些資料,發現在
System.setProperty("webdriver.chrome.driver", "C:\\webdriver\\chromedriver");這一句,別人會在chromedriver後添加.exe後綴,試着添加了後綴,修改爲:
System.setProperty("webdriver.chrome.driver", "C:\\webdriver\\chromedriver.exe");
再運行就正常運行了。
再一個,代碼運行的時候,如果是調用瀏覽器模式(即非無頭模式),最好在瀏覽器打開之前,不要進行其他操作,否則有可能會彈不出瀏覽器。