問(wèn)題描述
我正在嘗試從某個(gè)門(mén)戶網(wǎng)站獲取交易狀態(tài),并且我在我的 java 應(yīng)用程序中使用下面的 chrome 設(shè)置,我正在獲取
I am trying to get status of transactions from some web portal and I am using below chrome settings in my java application and I am getting
從渲染器接收消息超時(shí):60.000
Timed out receiving message from renderer: 60.000
所有待處理的事務(wù)都在超時(shí).
and all the pending transactions are timing out.
會(huì)話信息:無(wú)頭 chrome=68.0.3440.75
驅(qū)動(dòng)程序信息:chromedriver=2.38 (0)
platform=Linux 2.6.32-696.23.1.el6.x86_64 x86_64)
Session info: headless chrome=68.0.3440.75
Driver info: chromedriver=2.38 (0)
platform=Linux 2.6.32-696.23.1.el6.x86_64 x86_64)
我如何處理這個(gè)問(wèn)題,如果發(fā)生任何超時(shí),然后轉(zhuǎn)到下一個(gè)事務(wù)?
How i can handle this and if any timeout is happening then move to next transaction?
我已經(jīng)嘗試了以下語(yǔ)句的所有排列和組合,但仍然無(wú)法正常工作;
I have tried all permutation and combinations with below statements but still its not working;
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);
推薦答案
這個(gè)錯(cuò)誤信息...
Timed out receiving message from renderer: 60.000
...暗示 ChromeDriver 無(wú)法啟動(dòng)/生成新的 WebBrowser 即 Chrome 瀏覽器 會(huì)話.
...implies that the ChromeDriver was unable to initiate/spawn a new WebBrowser i.e. Chrome Browser session.
您的主要問(wèn)題是您使用的二進(jìn)制文件版本之間的不兼容性,如下所示:
Your main issue is the incompatibility between the version of the binaries you are using as follows:
- 您正在使用 chromedriver=2.38
- chromedriver=2.38 的發(fā)行說(shuō)明明確提及以下內(nèi)容:
支持 Chrome v65-67
- 您正在使用 chrome=68.0
- ChromeDriver v2.41 明確提及以下內(nèi)容:
- 我們不知道您的 Selenium 客戶端 版本.
- 您的 JDK 版本是我們未知的版本.
- Your Selenium Client version is unknown to us.
- Your JDK version is version is unknown to us.
- 將 JDK 升級(jí)到最新級(jí)別 <強(qiáng)>JDK 8u181.
- 將 Selenium 升級(jí)到當(dāng)前級(jí)別版本 3.14.0.
- 將 ChromeDriver 升級(jí)到當(dāng)前的 ChromeDriverv2.41 級(jí)別.
- 將 Chrome 版本保持在 Chrome v67-69 級(jí)別之間.(根據(jù) ChromeDriver v2.41 發(fā)行說(shuō)明)
- 清理你的項(xiàng)目工作區(qū)通過(guò)你的IDE和重建你的項(xiàng)目只需要依賴.
- 執(zhí)行你的
@Test
. - Upgrade JDK to recent levels JDK 8u181.
- Upgrade Selenium to current levels Version 3.14.0.
- Upgrade ChromeDriver to current ChromeDriver v2.41 level.
- Keep Chrome version between Chrome v67-69 levels. (as per ChromeDriver v2.41 release notes)
- Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
- Execute your
@Test
.
支持 Chrome v67-69
所以 ChromeDriver v2.38 和 Chrome 瀏覽器 v68.0
這篇關(guān)于從渲染器接收消息超時(shí)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!