【问题标题】:Continue Selenium Test instead of Timeout in WebDriverWait继续 Selenium 测试而不是 WebDriverWait 中的超时
【发布时间】:2016-01-10 22:07:42
【问题描述】:

我在 Selenium 中使用 WebDriverWait,如果出现一些警报或确认框,我想等待 10 秒,如果出现我会接受它。例如,如果确认框要求我“离开页面”或“留在页面上”,那么我想自动离开页面,如果 10 秒内没有出现警报,则继续执行代码而不是抛出异常。或者你可以告诉我在整个硒测试期间自动接受所有确认、警报框的方法。谢谢 这是我的代码

WebDriver driver = new FirefoxDriver();  
    driver.get("https:www.google.com");
    WebDriverWait wait = new WebDriverWait(driver, 10 );
    if(wait.until(ExpectedConditions.alertIsPresent())==null)
    {
    System.out.println("alert was not present");}
    else{
    Alert alert = driver.switchTo().alert(); 
    alert.accept();
    System.out.println("alert was present");}

【问题讨论】:

    标签: java selenium selenium-webdriver wait


    【解决方案1】:

    try/catch 对于捕获/处理异常很有用。只需将 alert 代码放在 try 块中,如果发生异常,它将在 catch 块中处理,然后继续执行..

    WebDriver driver = new FirefoxDriver();  
        driver.get("https:www.google.com");
        WebDriverWait wait = new WebDriverWait(driver, 5 );
    
        try{
    
        if(wait.until(ExpectedConditions.alertIsPresent())==null)
        {
        System.out.println("alert was not present");
        }else{
            Alert alert = driver.switchTo().alert(); 
            alert.accept();
            System.out.println("alert was present");
            }
    
        }catch(Exception e){
            System.out.println("ignored alret not present exception" +e.getMessage());
        }
    
    
    }
    

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 2012-03-06
      相关资源
      最近更新 更多