Java Selenium浏览器驱动程序可以';当通过类对象引用时,不能通过系统属性进行配置
当通过类对象引用时,无法通过系统属性配置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
: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");