Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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 Selenium浏览器驱动程序可以';当通过类对象引用时,不能通过系统属性进行配置_Java_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

Java Selenium浏览器驱动程序可以';当通过类对象引用时,不能通过系统属性进行配置

Java Selenium浏览器驱动程序可以';当通过类对象引用时,不能通过系统属性进行配置,java,selenium,selenium-webdriver,webdriver,Java,Selenium,Selenium Webdriver,Webdriver,当通过类对象引用时,无法通过系统属性配置Selenium浏览器驱动程序 环境详情 Selenium:3.5.0 GeckoDriver:0.18.0 Mozilla Firefox:55.0.2 OS:Windows 8 Pro 用例 尝试通过类方法设置系统属性时,Selenium无法找到webdriver可执行文件,并抛出java.lang.IllegalStateException,错误消息如下: The path to the driver executable must be set

当通过类对象引用时,无法通过系统属性配置Selenium浏览器驱动程序


环境详情
Selenium
:3.5.0

GeckoDriver
:0.18.0

Mozilla Firefox
:55.0.2

OS
:Windows 8 Pro


用例 尝试通过类方法设置系统属性时,Selenium无法找到webdriver可执行文件,并抛出
java.lang.IllegalStateException
,错误消息如下:

The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases

代码块:
例外情况: 线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;有关详细信息,请参阅https://github.com/mozilla/geckodriver. 最新版本可从以下网站下载:https://github.com/mozilla/geckodriver/releases 位于com.google.common.base.premissions.checkState(premissions.java:750) 位于org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124) 登录org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:41) 位于org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:115) 位于org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:329) 位于org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:207) 位于org.openqa.selenium.firefox.FirefoxDriver(FirefoxDriver.java:103) 位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:99) 在demo.Q45756729_PageTitle.tite(Q45756729_PageTitle.java:12) 在demo.Q45756729_PageTitle.main(Q45756729_PageTitle.java:21)中 有时会发生这种情况:)-

替换这个

System.setProperty("webdriver.firefox.driver","C:\\Utility\\BrowserDrivers\\geckodriver.exe");


希望这有帮助。谢谢。

使用
gecko.driver
代替
Firefox.driver
如下:

System.setProperty("webdriver.gecko.driver","E:/Gecko/geckodriver.exe");
需要被替换为

System.setProperty(“webdriver.gecko.driver”,“C:\\Utility\\BrowserDrivers\\geckodriver.exe”)


由于驱动程序exe已被gecko替换,但类名仍然是FirefoxDriver

您还可以为geckodriver.exe设置路径值,无需传递路径
System.setProperty("webdriver.firefox.driver","C:\\Utility\\BrowserDrivers\\geckodriver.exe");
System.setProperty("webdriver.gecko.driver","C:\\Utility\\BrowserDrivers\\geckodriver.exe");
System.setProperty("webdriver.gecko.driver","E:/Gecko/geckodriver.exe");
System.setProperty("webdriver.firefox.driver","C:\\Utility\\BrowserDrivers\\geckodriver.exe");