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
- 当您在系统上时,假定
放在桌面上,ypu需要在WebDriver的绝对路径中附加WebDriver变体名称和扩展名chromedriver.exe
- 实际上,代码行将是:
System.setProperty("webdriver.chrome.driver", "C:\\Users\\sravani\\Desktop\\chromedriver.exe");
webdriver.chrome.driver
需要以小写字母开头
假设
chromedriver.exe
存储在您的桌面上,您需要进行如下几项更改:
- 在
中,您需要将大写的Webdriver.chrome.driver
替换为小写的W
W
- 当您在系统上时,假定
放在桌面上,ypu需要在WebDriver的绝对路径中附加WebDriver变体名称和扩展名chromedriver.exe
- 实际上,代码行将是:
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();
现在我的代码运行正常
您也可以这样尝试,或者让我知道,以便我可以帮助您。的可能副本的可能副本