【问题标题】:Selenium automation Page Loading is very SlowSelenium 自动化页面加载非常慢
【发布时间】:2020-11-24 16:44:31
【问题描述】:

我正在使用 chromedriver 进行硒自动化。但是与手动测试相比,网页加载速度非常慢。请帮助

得到错误:

[1596549682.992][SEVERE]: Timed out receiving message from renderer: 300.000

代码试验:

ChromeOptions option=new ChromeOptions();
option.setPageLoadStrategy(PageLoadStrategy.NORMAL);
option.addArguments("--disable-features=NetworkService");
option.addArguments("--dns-prefetch-disable");
option.addArguments("--disable-extensions");
option.setProxy(null);
driver = new ChromeDriver(option);

Chrome 版本:84 Chrome 驱动程序版本:84 Selenium 版本:试过 3.141.59 和 3.5.2

【问题讨论】:

  • 为什么需要--disable-features=NetworkService--dns-prefetch-disable--disable-extensions?你的用例是什么?
  • 我试过这个,因为它是作为解决方案给出的,但它不起作用。我的问题是在运行测试用例时,有时页面会快速加载,但有时会花费太多时间并给出超时异常。我应该向选项添加任何内容。我尝试了 pageloadtimeout 和隐式等待,这也不起作用。

标签: java selenium selenium-webdriver selenium-chromedriver pageloadstrategy


【解决方案1】:

Selenium 默认将pageLoadStrategy 实现为NORMAL。所以明确设置相同不会有任何区别。

但是,为避免等待网页加载缓慢,您可以将功能 java.lang.String PAGE_LOAD_STRATEGY 设置为 none,如下所示:

ChromeOptions option=new ChromeOptions();
option.setPageLoadStrategy(PageLoadStrategy.NONE);
driver = new ChromeDriver(option);

参考

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


从渲染器接收消息超时

要解决此错误,您需要按照Timed out receiving message from renderer: 0.100 log messages using ChromeDriver and Chrome v80 through Selenium Java 中的讨论相应地更新ChromeDriver 版本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-03
    • 2016-06-11
    • 2012-01-17
    • 1970-01-01
    • 2015-02-25
    • 2021-04-11
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多