【问题标题】:Exception in thread "main" java.lang.IllegalStateException even when path of driver is set即使设置了驱动程序的路径,线程“main”java.lang.IllegalStateException 中的异常
【发布时间】:2017-11-04 16:04:49
【问题描述】:

当我使用 java main 方法运行 selenium 浏览器初始化时,我遇到了异常。驱动程序在正确的路径上可用。

驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性;有关详细信息,请参阅 https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。最新的 版本可以从 http://chromedriver.storage.googleapis.com/index.html 在 com.google.common.base.Preconditions.checkState(Preconditions.java:738) 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124) 在 org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32) 在 org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137) 在 org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:330) 在 org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:124) 在 调用浏览器.myfirsttestcase.initBroiwser(myfirsttestcase.java:23) 在 invokebrowser.myfirsttestcase.main(myfirsttestcase.java:16)

代码片段

System.setProperty("Webdriver.chrome.driver","C:\\Javalibs\\chromedriver.exe");
WebDriver driver = new ChromeDriver();//getting exception here

【问题讨论】:

  • 请格式化您的代码

标签: selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

在代码中,Webdriver.code.driver...,W是大写字母。它必须是小写字母,如错误消息中所示。

System.setProperty("webdriver.chrome.driver","C:\\Javalibs\\chromedriver.exe"); 

希望这对您有所帮助。谢谢。

【讨论】:

    【解决方案2】:

    这是您问题的答案:

    当您使用 Selenium 3.4.0、chromedriver 2.29 和 Chrome 58.x 时,您必须通过 System.setProperty 指定 chromedriver 的绝对路径

    值得一提的是系统属性是webdriver.chrome.driver

    当您通过System.setProperty 提到 chromedriver 的绝对路径时,您必须提供正斜杠“/”或转义反斜杠“\\

    您自己的代码块将通过这个简单的方式为您工作:

        System.setProperty("webdriver.chrome.driver","C:\\Javalibs\\chromedriver.exe"); 
        WebDriver driver = new ChromeDriver();
    

        System.setProperty("webdriver.chrome.driver","C:/Javalibs/chromedriver.exe"); 
        WebDriver driver = new ChromeDriver();
    

    如果这能回答您的问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 2018-08-27
      • 2022-01-22
      • 2019-05-06
      • 2020-09-13
      • 1970-01-01
      • 2018-06-09
      • 2021-02-10
      • 1970-01-01
      • 2017-03-01
      相关资源
      最近更新 更多