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

时间:2020-01-07 14:24:59

标签: java selenium docker google-chrome selenium-chromedriver

运行方案时出现以下错误。

org.openqa.selenium.TimeoutException:超时:超时接收 来自渲染器的消息:10.000

(会话信息:chrome = 79.0.3945.79)构建信息:版本:“ 3.14.0”, 版本:'aacccce0',时间:'2018-08-02T20:19:58.91Z'系统信息: 主机:'fv-az598',ip:'10 .1.0.4',操作系统名称:'Linux',os.arch:'amd64', os.version:'4.15.0-1064-azure',java.version:'1.8.0_212'驱动程序 信息:org.openqa.selenium.remote.RemoteWebDriver功能 {acceptInsecureCerts:否,浏览器名称:chrome, browserVersion: 79.0.3945.79 ,Chrome:{ chromedriverVersion: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)

任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:2)

此错误消息...

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

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

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

  • 您的 Selenium Client 版本是 2018-08-02T20:19:58.91Z 3.14.0 ,几乎是 1.5 岁,并且同时 ChromeDriver 符合 OSS
  • 您正在使用 chromedriver = 79.0
  • 您正在使用 chrome = 79.0
  • 虽然 chromedriver = 79.0 chrome = 79.0 是并发的,但它们与 Selenium Client 版本不兼容,但版本为 3.14.0 < / em>。

因此, Selenium Client v3.14.0 ChromeDriver v79.0 Chrome浏览器v79.0


解决方案

确保:

  • JDK 已升级到当前级别JDK 8u222
  • 已升级到当前级别Version 3.141.59
  • 通过 IDE
  • 清理项目项目工作区,并仅使用必需的依赖项重新构建项目

tl;博士

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

答案 1 :(得分:-1)

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

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

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

如果不需要,请删除该行