获取"驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置",但设置正确的路径

sat*_*mar 11 selenium selenium-chromedriver selenium-webdriver

我的代码非常简单:

WebDriver wd =new ChromeDriver();
  System.setProperty("webdriver.chrome.driver",
                     "D:\\List_of_Jar\\chromedriver.exe");    
       String baseUrl = "https://www.google.com";wd.get(baseUrl);
Run Code Online (Sandbox Code Playgroud)

从selenium hq网站下载并添加了jar作为"Java-3.4.0".从同一网站下载Google Chrome Driver-2.29,并将其放在"D:\ List_of_Jar"路径中.

当我运行上面的代码时,我得到一个错误"java.lang.IllegalStateException:驱动程序可执行文件的路径必须由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)" .

虽然进行了正确的配 所以请帮助我解决这个问题.详细信息:操作系统:Windows XP.Java:JDK1.8和JRE1.8.Selenium:版本3.4

Mur*_*thi 20

应在浏览器启动之前设置驱动程序路径,如下所示.

System.setProperty("webdriver.chrome.driver","D:\List_of_Jar\chromedriver.exe");
WebDriver wd =new ChromeDriver();
String baseUrl = "https://www.google.com";
wd.get(baseUrl);"
Run Code Online (Sandbox Code Playgroud)


Ank*_*kur 9

您正在错误地设置chrome驱动程序路径.必须在WebDriver初始化之前设置属性.

设置这样的属性 -

System.setProperty("webdriver.chrome.driver","D:\\List_of_Jar\\chromedriver.exe")
WebDriver wd =new ChromeDriver();
String baseUrl = "https://www.google.com";
wd.get(baseUrl);" 
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您使用的是IntelliJ IDE,则在IntelliJ上未在“运行>编辑配置> VM选项”中进行设置,我将遇到以下错误:

Failed scenarios:
C:/Users/DATestAdmin/IdeaProjects/TestLogin/src/test/resources/login.feature:4 # Scenario: Successfully logging in

1 Scenarios (1 failed)
3 Steps (3 skipped)
0m0.194s

java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property;
Run Code Online (Sandbox Code Playgroud)

因此,一旦我在“运行”>“编辑配置”>“ VM选项”中将路径添加到本地chromedriver中:

-Dwebdriver.chrome.driver="C:\\Users\\This\\Is\\Where\\ChromeDriverIs\\chromedriver_win32.exe"
Run Code Online (Sandbox Code Playgroud)

运行>编辑配置

现在,我可以成功启动Chrome浏览器了。


小智 5

我完全同意 Murthi 的观点,但更好的是设置驱动程序的相对路径,而不是绝对路径。

相对路径如下所示:

System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/chromedriver.exe");
Run Code Online (Sandbox Code Playgroud)

Abosulte:是您 PC 中驱动程序的路径。

System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
Run Code Online (Sandbox Code Playgroud)

为什么?在您的项目中安装驱动程序是一个很好的做法,而不仅仅是在您的计算机中。只需找到或创建文件夹 fe 资源,在资源内创建名为 fe 驱动程序的文件夹,然后在其中导入您的驱动程序/驱动程序 exe 文件。