从IDE运行时,Geckodriver运行良好,但从可执行jar运行时,抛出异常

时间:2019-08-29 09:19:17

标签: java selenium geckodriver selenium-firefoxdriver

我使用硒通过Firefox下载文件。从IDE(eclipse)运行时,一切正常,但是当我提取可执行jar时,出现以下异常:

    Exception in thread "main" org.openqa.selenium.WebDriverException: Build info: version: 'unknown', revision: 'f148142cf8', time: '2019-07-01T21:24:57'
System info: host: '28LJQV2', ip: '192.168.5.40', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_221'
Driver info: driver.version: FirefoxDriver
        at java.util.Optional.orElseThrow(Unknown Source)
        at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:179)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:154)

private void initSelenium() {
        System.setProperty("webdriver.gecko.driver",         Config.getInstance().getFIREFOX_DRIVER_PATH());
    }

private WebDriver createFirefoxDriverWithDownloadFolder(String downloadFolder) {
        FirefoxProfile profile = new FirefoxProfile();
        FirefoxOptions options = new FirefoxOptions();
        profile.setPreference("browser.download.folderList", 2);
        profile.setPreference("browser.download.dir", downloadFolder);
        profile.setPreference("browser.download.manager.showWhenStarting", false);
        profile.setPreference("browser.helperApps.neverAsk.openFile", "application/x-msdownload");
        profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/x-msdownload, application/zip");

        options.setProfile(profile);

        WebDriver driver = new FirefoxDriver(options);
        return driver;
    }

在属性文件中:     FIREFOX_DRIVER_PATH = C:\ geckodriver.exe

1 个答案:

答案 0 :(得分:0)

通过使用“将所需的库打包到生成的jar中”而不是“将所需的库提取到生成的jar中”提取可运行的jar来解决