在硒测试步骤(如点击按钮)我想防止硒等待页面加载.我不能抛出负载异常,因为我不能再与页面一起工作了.
它可以像这样做一个类似的事情:
DesiredCapabilities dr = DesiredCapabilities.chrome();
dr.setCapability("pageLoadStrategy", "none");
WebDriver driver = new RemoteWebDriver(new URL("...."), dr);
我想要的是“dr.setCapability(”pageLoadStrategy“,”none“);”但只是为了一个特定的步骤.
有谁知道这样做的方法?
解决方法:
启动浏览器后,功能不再可编辑.
临时禁用等待的一种方法是使用脚本注入实现自己的get.
像这样的东西:
//
// loads the page and stops the loading without exception after 2 sec if
// the page is still loading.
//
load(driver, "https://httpbin.org/delay/10", 2000);
public static void load(WebDriver driver, String url, int timeout) {
((JavascriptExecutor)driver).executeScript(
"var url = arguments[0], timeout = arguments[1];"
"window.setTimeout(function(){window.location.href = url}, 1);" +
"var timer = window.setTimeout(window.stop, timeout);" +
"window.onload = function(){window.clearTimeout(timer)}; "
, url, timeout);
}