我的selenium webdriver转到页面并等待该页面完成加载。如果30秒超时则脚本失败。
有没有让webdriver在30秒后停止加载页面(比如按下浏览器上的'x')?这将阻止我的司机超时。
我正在使用Chromedriver。
答案 0 :(得分:4)
这是我遇到这个问题的方式。我将使用这种方式,直到chrome支持pageload
。
我在chrome中安装了一个名为Stop load的扩展,我设置了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秒钟内将其删除。
在某种程度上,如果在扩展名
中设置正确的停止加载时间,它就像一个implicitwait答案 1 :(得分:2)
您可以使用 JavaScript 函数window.stop()
和方法Selenium::WebDriver::Driver#execute_script
停止 Ruby 中的页面加载:
driver.execute_script("window.stop()")
答案 2 :(得分:1)