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]);
请问某人是什么问题?预先感谢!
答案 0 :(得分:0)
在Thread.sleep(500);
之前与DRIVER.switchTo().window(tabs.get(1));
一起使用