我正在尝试从某个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);
答案 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浏览器会话。
您的主要问题是所使用的二进制版本之间的不兼容性:
支持 Chrome v65-67
支持 Chrome v67-69
因此 ChromeDriver v2.38 与 Chrome浏览器v68.0
之间存在明显的不匹配@Test
。