Selenium chromeDriver打开速度比直接在Chrome浏览器中打开网站慢得多

我在打开网站时遇到了一个关于Selenium Webdriver速度的令人厌恶的问题。

我正在测试的网站是内部网站,因此您无法访问。为了详细描述我的问题,我将该网站称为ABC

当我在Chrome浏览器中键入ABC的URL时,仅需1秒即可打开此网站。

在TestNG中,我的Selenium客户端如下所示:

String ABC = "ABC'S URL";
String chromeDriverPath = "C:\selenium\chromedriver.exe" ;
System.out.println("start selenium");
File file = new File(chromeDriverPath);
System.setProperty("webdriver.chrome.driver",file.getAbsolutePath());
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
webDriver driver = new ChromeDriver(options);
driver.get(ABC);

然后,Chrome将由自动化测试软件控制。在示意图上,会有一条注释写着waiting for staticxx.fackbook.comwaiting for www.facebook.com

1分钟后,ABC网站已成功加载。我检查了F12工具,在控制台中它显示为staticxx.facebook.com/connect/xd_arbiter/r/0F7S7QWJ0Ac.js?version=42#channel=f38f3479a8af658&origin=http% Failed to load resource: the server responded with a status of 503 (Service Unavailable)

有没有什么Selenium API可以避免加载某些Web资源? 或者,我是否可以在浏览器上进行一些配置以停止加载某些Web资源?

提前感谢大家!


解决方案

以下是您问题的答案:

为了避免加载某些网站,您可以利用Chrome浏览器的一个功能,调整pageLoadStrategyDesiredCapabilities类,设置为none,如下所示:

String ABC = "ABC'S URL";
String chromeDriverPath = "C:\selenium\chromedriver.exe" ;
System.out.println("start selenium");
File file = new File(chromeDriverPath);
System.setProperty("webdriver.chrome.driver",file.getAbsolutePath());
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setCapability("pageLoadStrategy", "none");
webDriver driver = new ChromeDriver(capabilities);
driver.get(ABC);

如果这回答了您的问题,请让我知道。

相关文章