Selenium IDE - 等待模态消失

时间:2016-01-08 15:00:09

标签: modal-dialog selenium-ide

在继续填写表单并单击按钮进入下一步之前,如何让Selenium IDE等待模态图层消失?

3 个答案:

答案 0 :(得分:1)

这似乎是waitForElementNotPresent或WaitForElementNotVisible的完美用例。这两个都将等待,直到屏幕上不再显示元素的默认超时。

你可以使用Pause,但这几乎不是正确答案,因为waitFor' s只需要花费超时时间所需的时间。暂停将始终等待全部时间,这很糟糕。

答案 1 :(得分:1)

  

c#c​​ode

我遇到了同样的问题,这段代码对我来说已经有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)

This answer中的

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;                   
                    }
                });