我正在创建一个测试并遇到一些问题。这是场景。我使用SeleniumWeb驱动程序在第1页填写表单,并通过单击按钮提交表单。第2页开始加载…但问题是,page2使用的是google分析代码,有时页面需要永远停止加载。
即使预期的元素已经存在,selenium web驱动程序在整个web页面完全加载之前不会继续。
如果预期的元素已经存在,那么如何使selenium继续执行下一个任务或停止加载外部javascript/css?
我试着调整以下设置,但没有成功。

driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
driver.manage().timeouts().setScriptTimeout(30, TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

临时解决方案:滚动下面的答案!

最佳答案:

给下面的方法一个机会。

driver.findElement(By.tagName("body")).sendKeys("Keys.ESCAPE");


((JavascriptExecutor) driver).executeScript("return window.stop");

或者,您也可以使用webdriverbackedselenium,如下面VincentBouvier的片段所示。
//When creating a new browser:
WebDriver driver = _initBrowser(); //Just returns firefox WebDriver
WebDriverBackedSelenium backedSelenuium = 
            new WebDriverBackedSelenium(driver,"about:blank");    

//This code has to be put where a TimeOut is detected
//I use ExecutorService and Future<?> Object

void onTimeOut()
{
    backedSelenuium.runScript("window.stop();");
}

资料来源:https://sqa.stackexchange.com/a/6355
资料来源:https://stackoverflow.com/a/13749867/330325