超时从渲染器接收消息

时间:2018-08-25 13:38:19

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

我正在尝试从某个Web门户获取交易状态,并且我在Java应用程序中使用了以下chrome设置,并且获取

  

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

,所有待处理的交易都将超时。

会话信息:无头 chrome = 68.0.3440.75
驱动程序信息: chromedriver = 2.38 (0)
platform = Linux 2.6.32-696.23.1.el6.x86_64 x86_64)

我该如何处理?如果发生超时,则转到下一个事务?

我已尝试使用以下语句进行所有排列和组合,但仍无法正常工作;

options.addArguments("headless");
options.addArguments("disable-gpu");
WebDriver driver = new ChromeDriver(caps);
TimeUnit.SECONDS.sleep(1);
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);

2 个答案:

答案 0 :(得分:0)

您可以使用try / catch

try{
    //your transaction
} catch (TimeoutException e) {
    //log transaction timeout
}

答案 1 :(得分:0)

此错误消息...

Timed out receiving message from renderer: 60.000

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

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

  • 您正在使用 chromedriver = 2.38
  • chromedriver=2.38的发行说明中明确提到以下内容:
  

支持 Chrome v65-67

  • 您正在使用 chrome = 68.0
  • ChromeDriver v2.41的发行说明中明确提到以下内容:
  

支持 Chrome v67-69

  • 您不知道您的 Selenium Client 版本。
  • 您的 JDK版本是我们未知的版本。

因此 ChromeDriver v2.38 Chrome浏览器v68.0

之间存在明显的不匹配

解决方案