gpt4 book ai didi

java - 如果所需的元素已经加载,使 Selenium Webdriver 停止加载页面?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:25:27 27 4
gpt4 key购买 nike

我正在创建测试并遇到一些问题。这是场景。我使用 Selenium Web 驱动程序在 Page1 上填写表单并通过单击按钮提交表单。 Page2 开始加载...但问题是,Page2 使用 Google Analytics 代码,有时页面需要很长时间才能停止加载。

即使预期的元素已经存在,Selenium 网络驱动程序也不会继续,直到整个网页完全加载。

如果预期的元素已经存在,我如何让 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,如下面 Vincent Bouvier 的代码片段所示。

//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

关于java - 如果所需的元素已经加载,使 Selenium Webdriver 停止加载页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21214340/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com