【问题标题】:GeckoDriver not synchronizing with Selenium with Java 11GeckoDriver 不与 Selenium 与 Java 11 同步
【发布时间】:2019-06-06 18:09:30
【问题描述】:

无法运行基本的 selenium 代码 使用:

  • FireFox 52 esr
  • 硒罐 3.141.59
  • geckodriver-v0.23.0-win64

代码试验(test.java):

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class test {

    public static void main(String args[])
    {
        System.out.println("Hello");
        System.setProperty("webdriver.gecko.driver","C://Users//anila//Downloads//geckodriver-v0.23.0-win64//geckodriver.exe");
        WebDriver driver=new FirefoxDriver();
        driver.get("www.google.com");
    }

}

"C:\Program Files\Java\jdk-11.0.1\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 社区版 2018.3.2\lib\idea_rt.jar=59660:C:\Program Files\JetBrains\IntelliJ IDEA 社区版 2018.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\anila\out\production\anila;C:\Users\anila\Desktop\Selenium Jar\client-combined-3.141.59.jar;C:\Users\anila\Desktop\Selenium Jar\libs\okio-1.14.0.jar;C:\Users\anila\Desktop\Selenium Jar\libs\okhttp-3.11.0.jar;C:\Users\anila\Desktop\Selenium Jar\libs\guava-25.0-jre.jar;C:\Users\anila\Desktop\Selenium Jar\libs\commons-exec-1.3.jar;C:\Users\anila\Desktop\Selenium jar\libs\byte-buddy-1.8.15.jar;C:\Users\anila\lib\com.springsource.org.testng-6.5.2.jar" 测试你好 1547227022145 mozrunner::runner INFO 运行命令: "C:\Program Files\Mozilla Firefox\firefox.exe" "-marionette" “-foreground” “-no-remote” “-profile” “C:\Users\anila\AppData\Local\Temp\rust_mozprofile.NnD9S4e3gbOY” [GFX1]:由于缺少 DLL,潜在的驱动程序版本不匹配被忽略 0.0.0.0 和 0.0.0.0 1547227023423 Marionette INFO 在端口 2828 [GFX1] 上侦听:由于缺少潜在的驱动程序版本不匹配而被忽略 DLL 0.0.0.0 和 0.0.0.0 [子 5320] ###!!!中止:中止 频道错误。:文件 c:/builds/moz2_slave/m-esr52-w64-000000000000000000/build/src/ipc/glue/MessageChannel.cpp, 线程“main”中的第 2143 行异常 org.openqa.selenium.WebDriverException:连接被拒绝构建信息: 版本:'3.141.59',修订:'e82be7d358',时间: '2018-11-14T08:25:48' 系统信息:主机:'LAPTOP-1QFLADIK',ip: '192.168.2.29', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.1' 驱动程序信息: driver.version: FirefoxDriver 远程堆栈跟踪:在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native 方法)在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) 在 org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62) 在 org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30) 在 org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:126) 在 java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) 在 java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) 在 java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127) 在 java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502) 在 java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488) 在 java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) 在 java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) 在 java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 在 java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:147) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:125) 在 test.main(test.java:11)

【问题讨论】:

    标签: selenium firefox selenium-webdriver geckodriver java-11


    【解决方案1】:

    您的代码不起作用的原因可能是geckodriver 0.23 支持Firefox 57 版本。查看supported platforms 页面了解更多信息。更新 Firefox 似乎是最好的解决方案。 (如果你能做到的话)

    【讨论】:

      【解决方案2】:

      根据您的问题和错误跟踪日志:

      • 您正在使用 java.version: '11.0.1'

      根据Can't compile Java9 module with selenium-java as dependency,似乎 Selenium 包不能用 Java 9 编译,因为 split packages 直到 2018 年 5 月 15 日 Selenium 与 Java 9 不完全兼容。

      但正如comment@Jarob22 提到的,Selenium 使用 Java 10 工作得很好。 Java 9 已经淘汰了,如果 10 有效,那么添加额外的东西来尝试支持它并没有多大意义。

      但是随着e57914a 的登陆,Simon 向我们介绍了基本的 JPMS 支持。有了这个可用性(mhomnag/selenium-java10-reproducer@bc63889) 现在实际构建,但你可能不得不Remove the WebDriverWaiter and just use a sleep for now

      Java 11

      selenium-server-standalone-3.141.59.jar 仍然与 Java 11 不兼容。但是一旦 Java 11 发布并且 Buck 支持它 工具链将被重新调整以支持 Java 11

      【讨论】:

      • 仅供参考,与 Cucumber 相同的问题:与 Java 11 不兼容。
      • @Max 是的,我们需要等待。
      猜你喜欢
      • 1970-01-01
      • 2021-12-01
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 2019-05-29
      相关资源
      最近更新 更多