我正在使用Selenium 3.11版,gecko驱动程序v0.20和Firefox版本59.我使用了system.setproperty脚本,但我仍然收到此错误:
线程“main”中的异常java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置
我也尝试过使用Firefox v40。 请帮我解决这个问题。感谢。
我使用的语法如下: System.setProperty(“webdriver.gecko.driver”,“C:\ geckodriver.exe”);
答案 0 :(得分:0)
尝试做类似的事情:
public void loadSystemProperties() {
try {
InputStream in = getClass().getResourceAsStream("/geckodriver");
File file = stream2file(in);
System.setProperty("webdriver.gecko.driver", file.getAbsolutePath());
LOGGER.info("Geckdriver found at {}", file.getAbsoluteFile());
} catch (IOException e) {
LOGGER.error(e.getMessage());
}
}
static File stream2file(InputStream in) throws IOException {
String PREFIX = "stream2file";
String SUFFIX = ".tmp";
final File tempFile = File.createTempFile(PREFIX, SUFFIX);
tempFile.deleteOnExit();
try (FileOutputStream out = new FileOutputStream(tempFile)) {
IOUtils.copy(in, out);
}
tempFile.setExecutable(true);
return tempFile;
}
我正在使用commons-io,2.6版。另外,我的geckodriver在我的资源文件夹中。
答案 1 :(得分:0)
感谢您的回复。在环境变量设置中设置geckodriver路径后,我的问题得到了解决。 但任何人都可以帮我解决一个问题:哪个最新的firefox版本将支持firebug和xpath插件?