chrome-driver 83与Ubuntu的兼容性

问题描述 投票:1回答:1

我运行的是Ubuntu 18.04.1 LTS,长期成功使用稳定版的Google Chrome v81和兼容的chrome-driver v81。google-chrome-stable 以至于 83.0.4103.61 并更新chrome-driver到 83.0.4103.39. 根据 官方网页 他们是完全兼容的.但这些更新后,我得到的错误的 unable to connect to renderer.

我的能力还是一样。

  capabilities: {
    browserName: 'chrome',
    chromeOptions: {
      args: [
        '--headless',
        '--disable-gpu',
        '--no-sandbox',
        '--remote-debugging-port=9222',
        '--ignore-certificate-errors',
        '--allow-insecure-localhost'
      ]
    }
  }

完整的错误信息如下:

[11:07:05] E/launcher - session not created
from disconnected: unable to connect to renderer
  (Session info: headless chrome=83.0.4103.61)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: '******', ip: '******', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-38-generic', java.version: '10.0.2'
Driver info: driver.version: unknown
remote stacktrace: #0 0x5633488fb579 <unknown>

我的webdriver-manager状态。

[11:24:59] I/status - selenium standalone version available: 3.141.59 [last]
[11:24:59] I/status - chromedriver version available: 83.0.4103.39 [last]
[11:24:59] I/status - geckodriver version available: v0.26.0 [last]
[11:24:59] I/status - android-sdk is not present
[11:24:59] I/status - appium is not present

有谁遇到过同样的问题,知道如何解决或正确回滚到v81吗?任何建议将被感激。

P.S. 1) 同样的配置在最新的MacOS上运行良好 2) 我没有成功地启动 "Webdriver-manager"。chromium-browser v81与驱动v81,可能做回滚的方式不对。

node.js selenium google-chrome protractor selenium-chromedriver
1个回答
1
投票

问题解决了。问题是我在使用参数 --remote-debugging-port=9222. 但是某天google-chrome进程被死死卡住,占据了端口。所以,当chromedriver启动google-chrome时,它无法访问繁忙的端口进行调试,只是简单地退出而没有错误。这就是为什么chromedriver无法访问google-chrome,并发送了 unable to connect to renderer 错误,解决办法是

  • 冻结占用端口的进程
  • 在真正需要的时候使用调试端口。
  • 使用直接连接到染色体,减少了 "层数",所以整体稳定性得到了提高。
© www.soinside.com 2019 - 2024. All rights reserved.