有没有人克服了下面这个问题?
点击提交按钮后,我有一个确认对话框。当我使用driver.switch().alert().accept()
作为Firefox驱动程序时,我没有看到任何问题。但是,当我为Chrome驱动程序使用相同的脚本时,没有任何反应。你能否建议如何解决这个问题?
我尝试了getWindowHandle()
方法,但这也没有用。
为什么它适用于Firefox,但不适用于Chrome?
答案 0 :(得分:1)
使用Alert时,我认为使用“try / Catch”会更好,尽管它不是传统的。我和IE有同样的问题。 Firefox的警报处理没问题,但在IE中失败了。你可以用这种方式做某事
try {
Alert alert = driver.switchTo().alert();
String AlertText = alert.getText();
System.out.println(AlertText);
alert.accept();
} catch (Exception e) {
System.out.println("no alert")
}
像上面这样的东西。
<强>已更新强>
public void aLert() {
boolean a = false;
try {
Alert alert = driver.switchTo().alert();
String AlertText = alert.getText();
System.out.println(AlertText);
alert.accept();
a = true;
} catch (Exception e) {
a = false;
}finally {
if (a != true) {
// take ur screenshot or whatever
driver.findElement(
By.xpath(//xpath of the ok button or accept button)click();
}
}
}