selenium-webdriver - 麦克 | Chrome 超时从渲染器接收消息:10.000
问题描述
我已经看到很多关于这个问题的帖子,但我仍然无法解决它。运行 1000+ 测试它总是失败并出现以下错误。我也试过了,chrome options
但还是没有运气
铬设置
WebDriverManager.chromedriver().setup();
chromeOptions.setAcceptInsecureCerts(true);
chromeOptions.addArguments("--no-sandbox");
chromeOptions.addArguments("--disable-infobars");
chromeOptions.addArguments("--disable-dev-shm-usage");
chromeOptions.addArguments("--disable-browser-side-navigation");
chromeOptions.addArguments("--disable-gpu");
chromeOptions.addArguments("--disable-features=VizDisplayCompositor");
chromeOptions.addArguments("enable-automation");
chromeOptions.addArguments("start-maximized");
driver = new ChromeDriver(chromeOptions);
driver.manage().deleteAllCookies();
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
return driver;
Java版
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
Pom.xml
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>3.141.59</version>
铬浏览器
Version 90.0.4430.72 (Official Build) (x86_64)
错误
[1620508128.868][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508128.869][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508138.870][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508148.876][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508148.876][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508158.878][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508168.882][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508168.882][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508178.883][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508188.892][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508188.893][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508198.893][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508208.898][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508208.898][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508218.899][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508228.905][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508228.906][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508238.907][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508248.916][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508248.916][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508258.917][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508268.924][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508268.924][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508278.926][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508288.933][SEVERE]: Timed out receiving message from renderer: 10.000
[1620508288.933][WARNING]: screenshot failed, retrying timeout: Timed out receiving message from renderer: 10.000
[1620508298.935][SEVERE]: Timed out receiving message from renderer: 10.000
org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000
(Session info: chrome=90.0.4430.72)
最终失败的屏幕截图代码
public static MediaEntityModelProvider screenShot() {
File file;
MediaEntityModelProvider screenShot = null;
String screenshot_location = path+ "_img.png";
file = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(file, new File(screenshot_location));
screenShot = MediaEntityBuilder.createScreenCaptureFromPath(screenshot_location).build();
} catch (IOException e) {
e.printStackTrace();
}
return screenShot;
}
基本上它在这条线上失败了file = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
解决方案
推荐阅读
- c# - ASP.Net MVC 从外部登录获取更多信息
- r - 如何在 R 中创建间隔不等的直方图
- chisel - Chisel3:如何在 RawModule 中创建一个没有复位信号的寄存器?
- ios - uiview 仅一侧的圆角
- jquery - 如何在 ASP.net 中将日期作为 JSON 发送到服务器
- c# - 将渲染的 Razor 视图另存为 HTML 字符串
- html - Flex Div 的高度不是 100%
- c++ - 使用正则表达式从文件中读取数据信息
- jquery - Datepicker jquery 不返回正确的日期
- javascript - 在 ES6 中的 Object.keys 中访问它