即使设置了驱动程序的路径,线程“main”java.lang.IllegalStateException 中的异常
Posted
技术标签:
【中文标题】即使设置了驱动程序的路径,线程“main”java.lang.IllegalStateException 中的异常【英文标题】:Exception in thread "main" java.lang.IllegalStateException even when path of driver is set 【发布时间】: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
【问题讨论】:
请格式化您的代码 【参考方案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();
如果这能回答您的问题,请告诉我。
【讨论】:
以上是关于即使设置了驱动程序的路径,线程“main”java.lang.IllegalStateException 中的异常的主要内容,如果未能解决你的问题,请参考以下文章
java.io.FileNotFoundException:类路径资源即使文件存在于 src/main/resources