即使在添加 set property webdriver 之后也获取 java.lang.IllegalStateException

新手上路,请多包涵

我收到 异常:

 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());
}*/

   }}

原文由 balvinder dhillon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 381
2 个回答

设置 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");

或者

System.setProperty("webdriver.chrome.driver",
           "C:/Users/balwinder/Desktop/chromedriver.exe");

注意:只有当您首先设置系统属性然后实例化 chrome 驱动程序时,它才会起作用。

原文由 user861594 发布,翻译遵循 CC BY-SA 3.0 许可协议

chromedriver.exe 文件的路径设置不正确。下载 chrome 驱动 zip 文件并将其解压到一个文件夹,转到解压的文件夹,通过单击 PATH 选项卡复制该文件夹的路径,并明确写入 .exe 文件名(必须写入 .exe)。

注意:文件夹之间的分隔符应该是 \(反斜杠)

例如请看下面:

System.setProperty(“webdriver.chrome.driver”, “C:\\Users\\Softwares\\Selenium\\chromedriver_win32\\chromedriver.exe”);

原文由 iammallikarjuna 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题