This page有一个按钮提示框:点击此处。如果我们点击此按钮,它会显示一个弹出窗口,当我们点击确定按钮时,它会显示另一个弹出窗口。
我的代码是:
driver.findElement(By.xpath("//*[@id='contact-form-2599']/form/button")).click();
driver.switchTo().alert().accept();
driver.switchTo().alert().accept();
我使用相同的代码两次点击弹出窗口。
是否可以一步处理多个弹出窗口?
答案 0 :(得分:2)
您可以遍历driver
可以关注的所有可能的命名提醒:
function closeAlerts() {
// this aussmes that there is at least one alert
try {
let currentAlert = driver.switchTo().alert();
}
catch (err) {
console.log(err);
return;
}
// loop through the alerts and accept them
while (currentAlert && currentAlert.accept instanceof Function) {
currentAlert.accept();
try {
currentAlert = driver.switchTo().alert();
}
catch (err) {
console.log(err);
return;
}
}
}
closeAlerts();
我希望这会有所帮助。
答案 1 :(得分:-1)
这也可以用于for循环,
//设置为2个警报
for (int i=1; i<3; i++)
{
driver.switchTo().alert().accept();//Here it runs twice so two pop-ups can be accepted.
}
请检查一下它是否适用于我的代码。