2016-03-08 251 views
0

是否有任何命令等待弹出关闭。其实我的项目就像在主页弹出窗口会出现,并选择城市流行后会接近。然后我可以点击登录按钮。但是,当我运行脚本,关闭弹出之前,我的下一个命令是点击登录按钮正在执行。所以测试脚本失败。当我使用睡眠(10000)时,我的脚本工作正常。但每次我不想使用睡眠,等待弹出窗口关闭硒webdriver

Enter image description here

请帮我你的答案

感谢

回答

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++; 
    } 
1

我将等待弹出被隐藏:

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

嗨弗洛朗,请告知是否“弹出定位器”是元素或类的文本或任何其他属性? – AVA