2

我已经下载了 Apple Developer 证书并在我的框架中配置了 Safari 扩展。现在,当我开始执行脚本时,浏览器启动,它执行一些操作,然后抛出以下错误。

(注意:我使用的是 selenium-server-standalone-2.31.0.jar)

2013 年 3 月 5 日下午 3:59:13 org.openqa.selenium.safari.SafariDriverServer 启动信息:服务器在端口 5674 上启动 2013 年 3 月 5 日下午 3:59:33 org.openqa.selenium.safari.SafariDriverChannelHandler$1 operationComplete INFO:连接于 2013 年 3 月 5 日下午 3:59:45 打开 org.jboss.netty.channel.SimpleChannelUpstreamHandler 警告:异常,请实施 org.openqa.selenium.safari.SafariDriverChannelHandler.exceptionCaught() 以进行正确处理。java.io.IOException: 远程主机在 sun.nio.ch.SocketDispatcher.read0(Native Method) 在 sun.nio.ch.SocketDispatcher.read(Unknown Source) 在 sun.nio.ch 处强行关闭了现有连接sun.nio.ch.IOUtil.read(Unknown Source) 的 sun.nio.ch.SocketChannelImpl 的 .IOUtil.readIntoNativeBuffer(Unknown Source)。

4

1 回答 1

0

调用后我遇到了同样的错误safariDriver.quit()。事实证明,SafariDriver 并没有关闭套接字,即使它知道它将终止。为了解决这个问题,我调整了QUIT命令的行为,并在我的 PR 中包含了与 Safari 驱动程序相关的另一个功能的补丁:https ://github.com/SeleniumHQ/selenium/pull/87 。

实际修复非常简单,请在https://github.com/Rob--W/selenium/commit/2b53d4b61查看。

想要自己实施此修复?请按照以下步骤操作:

  1. 安装先决条件(适用于 Linux、Mac 和 Windows):
    • Java 开发工具包(JDK,不仅仅是 JRE)
    • 红宝石
    • 吉特
  2. 克隆 Selenium 存储库:

    git clone https://code.google.com/p/selenium/
    
  3. 应用我的提交

  4. 在 Selenium 存储库的根目录中,运行以下命令:

    ./go selenium-server-standalone offline=true
    

    (如果您使用的是 Windows,请省略./:)

    go selenium-server-standalone offline=true
    
  5. 稍等片刻。初始构建需要几分钟,后续构建在一分钟内完成。所需的结果可在以下目录中找到(相对于存储库的根目录):

    build/java/server/src/org/openqa/grid/selenium/selenium-standalone.jar
    
于 2013-06-16T22:06:53.793 回答