【发布时间】:2021-10-11 04:36:33
【问题描述】:
我正在编写一个与我们的一个系统交互的 selenium 脚本。在我们的系统中,有一个按钮,当按下时,只有大约一半的时间正确加载页面(它只是在每隔一段时间加载无限时间),因此我不能依赖默认的 selenium 等待要加载的页面。出于这个原因,我想按下按钮,并在打开一个新窗口以继续执行脚本之前立即关闭网络浏览器。不幸的是,我无法解决按钮本身的问题。
我当前的代码:
Actions action = new Actions(driver);
WebElement webElement = driver.findElement(By.id("garbage_button"));
action.moveToElement(webElement).click();
action.perform();
System.out.println("It's worked");
目前,不太可能到达 System.out,因为一旦运行 action.perform(),页面就会无限挂起,我的脚本最终会超时。
我尝试过的其他事情:
-
WebElement.click() 代替
-
减少等待时间并尝试 捕获超时异常(Chromedriver 似乎可以处理这些 异常本身)
有没有人知道如何在不等待的情况下按下按钮?
【问题讨论】:
-
点击按钮后页面挂起,无法关闭浏览器。您想关闭浏览器,但在浏览器挂起后没有执行任何代码,因此您想关闭浏览器。对吗?
-
是的,没错。我可以通过关闭驱动程序并打开一个新的来正确关闭浏览器。这段代码正在运行,所以我觉得不需要包含它。
标签: java selenium selenium-chromedriver