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");
再运行就正常运行了。
再一个,代码运行的时候,如果是调用浏览器模式(即非无头模式),最好在浏览器打开之前,不要进行其他操作,否则有可能会弹不出浏览器。