一尘不染

停止从Selenium Webdriver加载浏览器

selenium

我的Selenium Webdriver转到页面并等待该页面完成加载。如果30秒过去,它将超时并且脚本失败。

无论如何,是否要让网络驱动程序在30秒后停止页面加载(例如按浏览器中的“ x”)?这样可以防止驱动程序超时。

我正在使用Chromedriver。


阅读 821

收藏
2020-06-26

共1个答案

一尘不染

这就是我遇到此问题的方式。在chrome支持之前,我将使用这种方式pageload

我在Chrome中安装了一个名为“停止加载”的扩展程序,并设置了5秒的停止加载时间。

然后,我使用默认设置启动了驱动程序-

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--user-data-dir="+System.getProperty("user.home")+"\\AppData\\Local\\Google\\Chrome\\User Data"));
System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
driver = new ChromeDriver(capabilities);

如果Chrome中的网页在5秒钟内未加载,您的扩展程序将在5秒钟内将其杀死,以解决此问题。

在某种程度上,如果您在扩展程序中设置了适当的停止加载时间,它的工作方式就像一个隐式等待

2020-06-26