java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置
错误 我使用java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置,java,selenium,geckodriver,getproperty,Java,Selenium,Geckodriver,Getproperty,错误 我使用System.getProperty 线程“main”java.lang.IllegalStateException中的异常:路径 必须通过webdriver.gecko.driver设置驱动程序的可执行文件 系统属性;有关详细信息,请参阅 . 最新版本可以是 下载自 位于com.google.common.base.premissions.checkState(premissions.java:738) 位于org.openqa.selenium.remote.service.Dr
System.getProperty
线程“main”java.lang.IllegalStateException中的异常:路径
必须通过webdriver.gecko.driver设置驱动程序的可执行文件
系统属性;有关详细信息,请参阅
. 最新版本可以是
下载自
位于com.google.common.base.premissions.checkState(premissions.java:738)
位于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:330)
位于org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:207)
位于org.openqa.selenium.firefox.FirefoxDriver(FirefoxDriver.java:108)
位于org.openqa.selenium.firefox.FirefoxDriver(FirefoxDriver.java:137)
位于com.merchantPlatform.MerchantPlatformTest.main(MerchantPlatformTest.java:20)
必须使用System.setProperty,而不是System.getProperty,如下所示
package com.merchantPlatform;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class MerchantPlatformTest {
public static void main(String[] args) {
System.getProperty("webdriver.gecko.driver", "C:\\Selenium WebDriver\\geckodriver\\geckodriver-v0.17.0-win64\\geckodriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
// Initialize WebDriver
WebDriver driver = new FirefoxDriver(capabilities);
/* This works fine for versions lesser than Selenium 3. For Selenium 3 and higher, it will throw java.lang.IllegalStateException */
// Maximize Window
driver.manage().window().maximize();
// Wait For Page To Load
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
// Navigate to MerchantPlatform URL
driver.get("http://localhost:52939/");
}
}
我注意到您在打开浏览器时使用了错误的语法 您必须使用下面提到的
System.setProperty
,而不是使用System.getProperty
System.setProperty("webdriver.gecko.driver",
"C:\\Selenium WebDriver\\geckodriver\\geckodriver-v0.17.0-win64\\geckodriver.exe");
有关此问题的更多详细信息,请参阅。删除webdrivers和TryTanks目录名中的空格。。是setProperty,现在一切正常。。我试着把你的两个答案都标对了,但做不到。。虽然我搜索了很多关于这个错误的信息,但我还是错过了设定的部分。
System.setProperty("webdriver.gecko.driver", "C:\\Selenium WebDriver\\geckodriver\\geckodriver-v0.17.0-win64\\geckodriver.exe");