Selenium 是否在警报存在时打开新选项卡?

Selenium 是否在警报存在时打开新选项卡?,selenium,selenium-webdriver,selenium-chromedriver,Selenium,Selenium Webdriver,Selenium Chromedriver,我有一个chrome窗口,有一个打开的警报。我不想接受或取消警报,但在警报出现时打开一个新选项卡。但是尝试使用selenium驱动程序执行任何操作都会引发一个意外的AlertPresentException 可以做什么来忽略警报并打开新选项卡?您可以通过try catch处理警报,在该选项卡引发的位置: try { driver.switchTo().alert(); } catch (Exception e) { e.printStackTrace(); } 此外,您还可以继

我有一个chrome窗口,有一个打开的警报。我不想接受或取消警报,但在警报出现时打开一个新选项卡。但是尝试使用selenium驱动程序执行任何操作都会引发一个
意外的AlertPresentException


可以做什么来忽略警报并打开新选项卡?

您可以通过try catch处理警报,在该选项卡引发的位置:

try {
    driver.switchTo().alert();
} catch (Exception e) {
    e.printStackTrace();
}
此外,您还可以继续执行选项卡操作

通过返回此原始警报窗口,您可以接受或取消它:

try {
    driver.switchTo().alert().accept();
} catch (Exception e) {
    e.printStackTrace();
}

但尝试任何选项卡操作都会不断引发异常。所以,即使我将制表符操作放在catch块中,每次我尝试一个操作时,它都会不断抛出异常?在我的解决方案中,您正在执行警报操作,而不接受和取消警报。司机明白了。是的,我试过了。打开新选项卡或切换选项卡所需的操作在驱动程序上执行,每当尝试某个操作时,它都会抛出一个新异常。什么是新异常?它始终是同一个异常。我的意思是,任何操作的每次尝试都会不断抛出异常。