Firefox 路径错误? org.openqa.selenium.SessionNotCreatedException: 无法启动浏览器

Firefox Path error? org.openqa.selenium.SessionNotCreatedException: Failed to start browser

我在 SO 上阅读了类似的问题,但是没有发布任何答案此外我的错误似乎在细节上有所不同。

当我运行

package seleniumPrograms;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class Gecko_Driver {
    public static void main(String[] args)  {

        System.setProperty("webdriver.gecko.driver", "C:\Program 
        Files\Drivers\geckodriver-v0.16.1-win64\geckodriver.exe");
        DesiredCapabilities capabilities=DesiredCapabilities.firefox();
        capabilities.setCapability("marionette", true);
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.google.com");
        driver.manage().window().maximize();  
        driver.quit();
    }
}

我遇到以下错误:

1495603278185 geckodriver INFO Listening on 127.0.0.1:25555 1495603278690 geckodriver::marionette INFO Starting browser \?\C:\Program Files\Mozilla Firefox\firefox.exe with args ["-marionette"] Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Failed to start browser \?\C:\Program Files\Mozilla Firefox\firefox.exe: other os error Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'LT9LTDRC2', ip: '172.22.1.111', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_131' Driver info: driver.version: Gecko_Driver remote stacktrace: stack backtrace: 0: 0x489f6f -
1: 0x48ad59 - 2: 0x43a15d - 3: 0x43f982 - 4: 0x443f9a - 5: 0x41ddb1 - 6: 0x4091c7 - 7: 0x6bc939 - 8: 0x415a19 - 9: 0x6b6e43 - 10: 0x7ff9512c8364 - BaseThreadInitThunk at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new[=16=](W3CHandshakeResponse.java:57) at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction(W3CHandshakeResponse.java:104) at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession(ProtocolHandshake.java:365) at java.util.stream.ReferencePipeline.accept(Unknown Source) at java.util.Spliterators$ArraySpliterator.tryAdvance(Unknown Source) at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source) at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source) at java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.util.stream.ReferencePipeline.findFirst(Unknown Source) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:368) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:159) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:137) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:191) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:108) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:104) at seleniumPrograms.Gecko_Driver.main(Gecko_Driver.java:13)

我正在 运行关注 Selenium 3.4.0Gecko 0.16.1FF 53.0.3,所以我认为这不是版本问题。我猜它可能是它正在寻找浏览器的 \?\C 部分。

报告这个问题已经有一段时间了,但如果能最终得到解答就好了。基本上这里发生的是 geckodriver 中的一个错误,我为 0.17 版本修复了这个错误。所以具体来说,自从这个版本发布以来,这个故障不应该再出现了。