等待弹出窗口关闭selenium webdriver

时间:2016-03-08 07:53:23

标签: selenium-webdriver

是否有任何命令等待弹出窗口关闭。实际上我的项目就像在主页弹出窗口中出现并且在选择城市pop后关闭。然后我可以点击登录按钮。但是当我运行脚本时,在关闭弹出窗口之前,我的下一个命令就是点击登录按钮正在执行。所以测试脚本失败了。当我使用sleep(10000)时,我的脚本运行正常。但每当我不想睡觉时,

Enter image description here

请帮助我解答

由于

2 个答案:

答案 0 :(得分:1)

我会等待隐藏弹出窗口:

WebDriverWait wait = new WebDriverWait(driver, 5000); // 5 seconds timeout
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector("popup locator")));

答案 1 :(得分:0)

循环而不是固定等待的一种方法:

    WebDriver driver = new FirefoxDriver();

    //Accept the expected alert 
    driver.switchTo().alert().accept();

    //Wait dynamically to disappear 
    int i=0;
    while(i<15)
    {
        try{
            driver.switchTo().alert();
            Thread.sleep(2000);
        }catch(NoAlertPresentException a){
            break;
        }
        catch (Exception e) {
        }
        i++;
    }