我的Selenium Webdriver转到页面并等待该页面完成加载。如果30秒过去,它将超时并且脚本失败。
无论如何,是否要让网络驱动程序在30秒后停止页面加载(例如按浏览器中的“ x”)?这样可以防止驱动程序超时。
我正在使用Chromedriver。
这就是我遇到此问题的方式。在chrome支持之前,我将使用这种方式pageload。
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秒钟内将其杀死,以解决此问题。
在某种程度上,如果您在扩展程序中设置了适当的停止加载时间,它的工作方式就像一个隐式等待