在继续填写表单并单击按钮进入下一步之前,如何让Selenium IDE等待模态图层消失?
答案 0 :(得分:1)
这似乎是waitForElementNotPresent或WaitForElementNotVisible的完美用例。这两个都将等待,直到屏幕上不再显示元素的默认超时。
你可以使用Pause,但这几乎不是正确答案,因为waitFor' s只需要花费超时时间所需的时间。暂停将始终等待全部时间,这很糟糕。
答案 1 :(得分:1)
c#code
我遇到了同样的问题,这段代码对我来说已经有6个多月了,不再有崩溃了。
public static void WaitForModal(this IWebDriver driver)
{
wait.Until<IWebDriver>((d) =>
{
if (driver.FindElements(By.ClassName("modal-backdrop")).Count == 0)
{
return driver;
}
return null;
});
}
它等待,直到找不到IWebElement
的{{1}}“模态背景”。
答案 2 :(得分:1)
Happy Bird(非常感谢,尚无投票权)对于Java来说也很完美,并且为我节省了很多时间:
WebDriverWait wait = new WebDriverWait(getWebDriver(), 10);
wait.until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver driver) {
return getWebDriver().findElements(By.xpath("//div[contains(@class, 'modal-backdrop')]")).size() == 0;
}
});