无法接受Selenium Java中的警报-Firefox浏览器

时间:2018-10-10 08:59:10

标签: java selenium-webdriver

enter image description here我将打开一个窗口以执行一些操作,并在同一窗口中打开一个新标签。打开新选项卡后,我切换到上一个窗口以继续执行,完成后,我将切换到第二个窗口以执行操作。在第二个窗口中打开URL时,它不接受警报并引发异常。

  

org.openqa.selenium.UnhandledAlertException::

当我在新窗口中打开新的Firefox驱动程序时,此方法工作正常。

    try
    {
        Alert alert=DRIVER.switchTo().alert();
        alert.accept();
    }
    catch(NoAlertPresentException e)
    {
        System.out.println("No alert");
    }

我也尝试了以下代码-

    WebDriverWait wait= new WebDriverWait(driver, 10);
    Alert alert = wait.until(ExpectedConditions.alertIsPresent());
    alert.accept();

要切换到窗口的代码-

    String windowHandle = DRIVER.getWindowHandle();                  
    DRIVER.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");
    ArrayList<String> tabs = new ArrayList<String>(DRIVER.getWindowHandles());
    DRIVER.switchTo().window(tabs.get(1)); 
    DRIVER.switchTo().window((String) DRIVER.getWindowHandles().toArray()[0]);
    DRIVER.switchTo().window((String) DRIVER.getWindowHandles().toArray()[1]);

请问某人是什么问题?预先感谢!

1 个答案:

答案 0 :(得分:0)

Thread.sleep(500);之前与DRIVER.switchTo().window(tabs.get(1));一起使用