Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.IllegalStateException:必须通过webdriver.chrome.driver系统属性设置驱动程序可执行文件的路径_Java_Selenium_Google Chrome_Selenium Webdriver_Selenium Chromedriver_Windows - Fatal编程技术网

java.lang.IllegalStateException:必须通过webdriver.chrome.driver系统属性设置驱动程序可执行文件的路径

java.lang.IllegalStateException:必须通过webdriver.chrome.driver系统属性设置驱动程序可执行文件的路径,java,selenium,google-chrome,selenium-webdriver,selenium-chromedriver,windows,Java,Selenium,Google Chrome,Selenium Webdriver,Selenium Chromedriver,Windows,这是我的密码: package Basics; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class invokegoogle { public static void main(String[] args) { // TODO Auto-generated method stub System.setProper

这是我的密码:

package Basics;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class invokegoogle {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    System.setProperty("Webdriver.chrome.driver", "C:\\Users\\sravani\\Desktop.exe");
    WebDriver driver=new ChromeDriver();
    driver.get("http://qaclickacademy.com");

    }

}
获取以下错误:

Exception 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:754)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124)
    at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:329)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)
    at Basics.invokegoogle.main(invokegoogle.java:12)
线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关详细信息,请参阅https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. 最新版本可从以下网站下载:http://chromedriver.storage.googleapis.com/index.html 位于com.google.common.base.premissions.checkState(premissions.java:754) 位于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:329) 位于org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) 位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:124) 在Basics.invokegoogle.main(invokegoogle.java:12)
非常感谢您的帮助。提前感谢

假设
chromedriver.exe
存储在您的桌面上,您需要进行以下几项更改:

  • Webdriver.chrome.driver
    中,您需要将大写的
    W
    替换为小写的
    W
  • 当您在系统上时,假定
    chromedriver.exe
    放在桌面上,ypu需要在WebDriver的绝对路径中附加WebDriver变体名称和扩展名
  • 实际上,代码行将是:

    System.setProperty("webdriver.chrome.driver", "C:\\Users\\sravani\\Desktop\\chromedriver.exe");
    
注意
webdriver.chrome.driver
需要以小写字母开头


假设
chromedriver.exe
存储在您的桌面上,您需要进行如下几项更改:

  • Webdriver.chrome.driver
    中,您需要将大写的
    W
    替换为小写的
    W
  • 当您在系统上时,假定
    chromedriver.exe
    放在桌面上,ypu需要在WebDriver的绝对路径中附加WebDriver变体名称和扩展名
  • 实际上,代码行将是:

    System.setProperty("webdriver.chrome.driver", "C:\\Users\\sravani\\Desktop\\chromedriver.exe");
    
注意
webdriver.chrome.driver
需要以小写字母开头


一旦您将chrome驱动程序下载到系统中,在将其解压缩到文件夹中后,看起来您已经直接复制了文件夹路径“Downloads/chromedriver_win32.exe”,而不是使用下面提到的完整路径

打开文件夹(chromedriver_win32.exe),然后您将看到“chromedriver.exe”作为.exe文件,并使用此路径,如下所示

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

一旦您将chrome驱动程序下载到系统中,在将其解压缩到文件夹中后,这将起作用,看起来您已经直接复制了文件夹路径“Downloads/chromedriver_win32.exe”,而不是使用下面提到的完整路径

打开文件夹(chromedriver_win32.exe),然后您将看到“chromedriver.exe”作为.exe文件,并使用此路径,如下所示

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

这将起作用

我也遇到了同样的问题,然后搜索了这么多答案并应用到我的代码中,但结果显示为空 然后当我意识到我已经在类的上面声明了静态变量 看起来像

private static WebDriver driver = new ChromeDriver(); 
然后我在void主类下面重写代码

WebDriver driver = new ChromeDriver(); 
现在我的代码运行正常
您也可以这样尝试或让我知道,以便我可以帮助您。

我也遇到了同样的问题,然后搜索了这么多答案并应用到我的代码中,但结果显示为空 然后当我意识到我已经在类的上面声明了静态变量 看起来像

private static WebDriver driver = new ChromeDriver(); 
然后我在void主类下面重写代码

WebDriver driver = new ChromeDriver(); 
现在我的代码运行正常 您也可以这样尝试,或者让我知道,以便我可以帮助您。

的可能副本的可能副本