使用Geleno驱动程序脚本为Selenium 3.11

时间:2018-03-28 18:26:57

标签: java

我正在使用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”);

2 个答案:

答案 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插件?