首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >即使在添加set属性webdriver之后仍获得java.lang.IllegalStateException

即使在添加set属性webdriver之后仍获得java.lang.IllegalStateException
EN

Stack Overflow用户
提问于 2016-05-24 12:32:52
回答 3查看 42.1K关注 0票数 6

我收到异常:

代码语言:javascript
复制
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的代码

代码语言:javascript
复制
 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());
}*/

   }}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-24 12:47:29

设置webdriver.chrome.driver而不是webdriver.chromedriver.driver

代码语言:javascript
复制
 System.setProperty("webdriver.chromedriver.driver",
           "C://Users//balwinder//Desktop//chromedriver.exe");

应该是:

代码语言:javascript
复制
System.setProperty("webdriver.chrome.driver",
           "C:\\Users\\balwinder\\Desktop\\chromedriver.exe");

代码语言:javascript
复制
System.setProperty("webdriver.chrome.driver",
           "C:/Users/balwinder/Desktop/chromedriver.exe");

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

票数 5
EN

Stack Overflow用户

发布于 2021-04-20 08:04:41

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

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

例如,请参见以下内容:

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

票数 1
EN

Stack Overflow用户

发布于 2018-06-03 03:45:45

另一个没有System.setProperty的解决方案是简单地将带有chromedriver.exe的文件夹添加到路径中(如果有人不知道怎么做-谷歌“设置路径变量”)。

要检查此方法是否有效,您可以将chromedriver.exe放入C:\Windows\System32文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37404446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档