This page具有按钮警报框:单击此处。如果单击此按钮,它将显示一个弹出窗口,而单击“确定”按钮,则将显示另一个弹出窗口。
我的代码是:
driver.findElement(By.xpath("//*[@id='contact-form-2599']/form/button")).click();
driver.switchTo().alert().accept();
driver.switchTo().alert().accept();
我两次使用相同的代码单击弹出窗口。
是否可以在一个步骤中处理多个弹出窗口?
最佳答案
您可以循环显示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();
我希望这有帮助。