我得到例外:
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 https://github.com/SeleniumHQ/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:199)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109)
at org.openqa.selenium.chrome.ChromeDriverService.access$0(ChromeDriverService.java:1)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116)
at SeleniumFirefox.main(SeleniumFirefox.java:11)
以下是使用 SeleniumFirefox.java :
的代码 import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class SeleniumFirefox {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chromedriver.driver",
"C://Users//balwinder//Desktop//chromedriver.exe");
WebDriver driver = new ChromeDriver();
/*try {
Thread.sleep(5000);
} catch(InterruptedException ex) {
System.out.println(ex.getMessage());
}*/
}}
答案 0 :(得分:5)
设置webdriver.chrome.driver
而不是webdriver.chromedriver.driver
System.setProperty("webdriver.chromedriver.driver",
"C://Users//balwinder//Desktop//chromedriver.exe");
应该是:
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\balwinder\\Desktop\\chromedriver.exe");
OR
System.setProperty("webdriver.chrome.driver",
"C:/Users/balwinder/Desktop/chromedriver.exe");
注意:只有在您首先设置系统属性然后实例化chrome驱动程序时它才会起作用。
答案 1 :(得分:1)
chromedriver.exe 文件的路径设置不正确。 下载 chrome 驱动程序 zip 文件并将其解压缩到一个文件夹,转到解压缩的文件夹,通过单击 PATH 选项卡复制该文件夹的路径,并明确写入 .exe 文件名(必须写入 .exe)。< /p>
注意:文件夹之间的分隔符应该是\(反斜杠)
例如请参见以下内容:
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Softwares\\Selenium\\chromedriver_win32\\chromedriver.exe");
答案 2 :(得分:0)
没有System.setProperty
的另一个解决方案只是将chromedriver.exe
的文件夹添加到PATH
(如果有人不知道如何 - 谷歌“设置路径变量”)。
要检查此方法是否有效,您可以将chromedriver.exe
放到C:\Windows\System32
文件夹中。