java - 如何处理 selenium webdriver 自动化的连续警报

标签 java selenium-webdriver alerts

场景:

  • 执行点击时 -> 显示 Alert1
  • 接受警报 1 时 -> 显示警报 2

我能够接受alert1,但是当我编写代码来处理alert2时,也不接受任何警报。 尝试了与 Google 不同的方法,但没有任何效果

与 thread.sleep 和 wait 等的不同组合,但没有任何效果。

代码1:

Alert alert = driver.switchTo().alert(); 
Thread.sleep(5000);
alert.accept(); // For Alert1 
Thread.sleep(5000); 
alert.accept(); // For alert2 

代码2:

Alert alert = driver.switchTo().alert();
Thread.sleep(5000); 
alert.accept(); // For Alert1 
driver.switchTo().defaultContent();   
Switchtoframe(0); 
Alert alert1 = driver.switchTo().alert(); 
Thread.sleep(5000); //test 
alert1.accept(); // For alert2 

最佳答案

根据评论中的代码(由于java注释很难阅读正在发生的事情),您可以尝试这样的事情:

wait = new WebDriverWait(driver, 10);
try {
    wait.until(ExpectedConditions.alertIsPresent());
    Alert alert1 = driver.switchTo().alert();
    Thread.sleep(5000);
    alert1.accept();
} catch (Exception e) {
    // No alert exists
}

try {
    wait.until(ExpectedConditions.alertIsPresent());
    Alert alert2 = driver.switchTo().alert();
    Thread.sleep(5000);
    alert2.accept();
} catch (Exception e) {
    // No alert exists
}

我不认为你真的需要等待,但它已经在演示中了。

关于java - 如何处理 selenium webdriver 自动化的连续警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48082926/

相关文章:

java 将小时添加到系统日期并采用 yyyyMMddHHmmss 格式

java - 使用 selenium 处理 Ajax 自动建议下拉列表

java - 使用 Apache poi 在 excel 中查找特定列中的最后一行 no

alerts - Pinescript 重复警报

python - Kivy 使用 Android 通知

java - 不可变类的存储区域

java - 在 SAXParser 中捕获部分 XML 代码的方法

selenium-webdriver - 带有 Typescript 2.0.0 重复标识符问题的 Protractor

javascript - 如何在 JavaScript 中创建一个等待函数,允许您在后台运行音频等内容?

java - ReSTLet RIAP协议(protocol)部署在Java App服务器中