从渲染器接收消息超时:10.000



我在运行我的场景时遇到以下错误。

org.openqa.selenium.TimeoutException: timeout: Timed out receive(英语:Timed out receive( 来自渲染器的消息:10.000

(会话信息:chrome=79.0.3945.79( 内部版本信息: 版本:"3.14.0", 修订版:"aacccce0",时间:"2018-08-02T20:19:58.91Z" 系统信息: 主机: 'fv-az598', ip: '10.1.0.4', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-1064-azure', java.version: '1.8.0_212' 驱动程序 信息: org.openqa.selenium.remote.RemoteWebDriver Capabilities {acceptInsecureCerts: false, browserName: chrome,browserVersion:79.0.3945.79,铬:{铬驱动程序版本:79.0.3945.36

如您所见,使用粗体突出显示的字体,我确实有匹配版本的chrome和chrome驱动程序。

我还向我的ChromeOptions传递了一些参数,这意味着帮助超时:

// options to prevent TIMEOUTS
options.addArguments("start-maximized"); //https://stackoverflow.com/a/26283818/1689770
options.addArguments("enable-automation"); //https://stackoverflow.com/a/43840128/1689770
options.addArguments("--no-sandbox"); //https://stackoverflow.com/a/50725918/1689770
options.addArguments("--disable-infobars"); //https://stackoverflow.com/a/43840128/1689770
options.addArguments("--disable-dev-shm-usage"); //https://stackoverflow.com/a/50725918/1689770
options.addArguments("--disable-browser-side-navigation"); //https://stackoverflow.com/a/49123152/1689770
options.addArguments("--disable-gpu"); //https://stackoverflow.com/questions/51959986/how-to-solve-selenium-chromedriver-timed-out-receiving-message-from-renderer-exc
options.addArguments("--disable-features=VizDisplayCompositor"); //https://stackoverflow.com/questions/55373625/getting-timed-out-receiving-message-from-renderer-600-000-when-we-execute-selen

编辑:在 DOCKER 容器中运行时会发生(使用 Chrome 浏览器的最新 docker 映像和 node-chrome-debug(

任何想法将不胜感激。

此错误消息...

org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000

。暗示ChromeDriver无法启动/生成新的浏览上下文,即Chrome浏览器会话。

您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:

  • 您的Selenium客户端版本是2018-08-02T20:19:58.91Z3.14.0版本,该版本几乎早了1.5年,并且并发ChromeDriver符合OSS标准。
  • 您正在使用的 chromedriver = 79.0
  • 您正在使用的 chrome=79.0
  • 虽然chromedriver=79.0
  • chrome=79.0是并发的,但它们与Selenium客户端版本3.14.0不兼容。

所以Selenium客户端v3.14.0,ChromeDriverv79.0和Chrome浏览器v79.0之间存在明显的不匹配


溶液

确保:

  • JDK已升级到当前级别 JDK 8u222。
  • 已升级到当前级别 版本 3.141.59。
  • 通过IDE清理项目工作中心,并仅使用所需的依赖项重新生成项目。

TL; DR

您可以在以下位置找到一些相关的讨论:

  • 从渲染器接收消息超时
  • 错误 [SEVERE]:在 Jenkins 上通过 Selenium 执行测试套件时,从渲染器接收消息超时:20.000

这是因为您已将页面加载超时设置为 10 秒 例

driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);

将此处的 10 更改为任何其他数字以查看超时增加

如果不需要,请删除该行

最新更新