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.0
、Gecko 0.16.1
和 FF 53.0.3
,所以我认为这不是版本问题。我猜它可能是它正在寻找浏览器的 \?\C
部分。
报告这个问题已经有一段时间了,但如果能最终得到解答就好了。基本上这里发生的是 geckodriver 中的一个错误,我为 0.17 版本修复了这个错误。所以具体来说,自从这个版本发布以来,这个故障不应该再出现了。
我在 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.0
、Gecko 0.16.1
和 FF 53.0.3
,所以我认为这不是版本问题。我猜它可能是它正在寻找浏览器的 \?\C
部分。
报告这个问题已经有一段时间了,但如果能最终得到解答就好了。基本上这里发生的是 geckodriver 中的一个错误,我为 0.17 版本修复了这个错误。所以具体来说,自从这个版本发布以来,这个故障不应该再出现了。