Selenium webdriver 硒:“;未能解码来自木偶的响应;

Selenium webdriver 硒:“;未能解码来自木偶的响应;,selenium-webdriver,firefox,geckodriver,Selenium Webdriver,Firefox,Geckodriver,我已经看到了这个问题,但不幸的是,我一直在努力找到一个明确的解决办法 也许,如果有人让它为自己工作,他们可以分享firefox和geckodriver的组合 编辑:我是通过Jenkins运行的,所以可能Jenkins中使用了嵌入式firefox,这与服务器上的firefox不同 就我自己而言,我正在使用: Centos 7 Mozilla Firefox 67.0 GeckoDriver版本0.26.0(适用于linux64;从此处下载:) seleniumhq.selenium:seleniu

我已经看到了这个问题,但不幸的是,我一直在努力找到一个明确的解决办法

也许,如果有人让它为自己工作,他们可以分享firefox和geckodriver的组合

编辑:我是通过Jenkins运行的,所以可能Jenkins中使用了嵌入式firefox,这与服务器上的firefox不同

就我自己而言,我正在使用: Centos 7 Mozilla Firefox 67.0 GeckoDriver版本0.26.0(适用于linux64;从此处下载:) seleniumhq.selenium:selenium服务器:3.4.0

下面是我得到的stacktrace(在触发此问题的地方,我用粗体的代码行代替包路径):

_org.openqa.selenium.WebDriverException:未能解码来自木偶的响应 生成信息:版本:“3.4.0”,版本:“未知”,时间:“未知” 系统信息:主机:'jenkins2',ip:'172.16.12.149',os.name:'Linux',os.arch:'amd64',os.version:'3.10.0-957.21.3.el7.x86_64',java.version:'1.8.0_211' 驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver 功能[{moz:profile=/tmp/rust_-mozprofileuGyLim,rotatable=false,moz:geckodriverVersion=0.26.0,超时={implicit=0.0,pageLoad=300000.0,script=30000.0},pageLoadStrategy=normal,unhandledPromptBehavior=Disease and notify,StrictFileInteractivity=false,moz:headless=true,platform=ANY,moz:accessibilityChecks=false,moz:UseNonspectCompliantPointeroRigin=false,AcceptInsureCerts=false,browserVersion=67.0,moz:ShutdowntdownTimeout=60000.0,platformVersion=3.10.0-957.21.3.el7.x8664,moz:processID=31137.0,browserName=firefox,moz:buildID=20190516215225,javascriptEnabled=true,platformName=linux,setWindowRect=true,moz:webdriverClick=true}] 会话ID:bd33f758-d6fa-46a4-8e52-c9d019f8ec43 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:423) 位于org.openqa.selenium.remote.http.w3chttprosecodec.createException(w3chttprosecodec.java:150) 位于org.openqa.selenium.remote.http.w3chttrpresponsecodec.decode(w3chttrpresponsecodec.java:115) 在org.openqa.selenium.remote.http.w3chttrpresponsecodec.decode(w3chttrpresponsecodec.java:45) 位于org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164) 位于org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) 位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) 位于org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:364) 在“driver.get(url);”(LandingPage.java:385) 在“accessFirefox();”(LandingPage.java:338) 在“访问页面(浏览器);”(LandingPage.java:45) 在“landingPage=newlandingpage();”BasicTest.java:14) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于org.junit.runners.model.FrameworkMethod$1.runReflectVeCall(FrameworkMethod.java:50) 位于org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 位于org.junit.runners.model.FrameworkMethod.invokeeexplosive(FrameworkMethod.java:47) 位于org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) 位于org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 位于org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 位于org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 位于org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 位于org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 位于org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 访问org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 位于org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 位于org.junit.runners.ParentRunner.run(ParentRunner.java:363) 位于org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) 位于org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) 位于org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) 位于org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) 位于org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) 位于org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
在org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)上

到目前为止,答案如下:

64之后的Firefox版本显然不起作用()

作为故障排除的一部分,我在firefox的几个不同版本之间切换,70.0、69.0.3、67.0、65.0.2和64.0.2。在这些版本中,只有64.0.2起作用


geckodriver开发人员已经意识到这个问题,尽管已经有一段时间了。

到目前为止,答案如下:

64之后的Firefox版本显然没有