好吧Raza,如果你的目的是检查一个警报,并接受它,如果它存在(正如你所提到的,有些页面显示你警报和一些没有);尝试使用下面的方法看看是否能解决你的问题:
public boolean isAlertPresent() throws InterruptedException {
try {
for(int i=1; i<3; i++){
TimeUnit.SECONDS.sleep(3);
getDriver().switchTo().alert();
System.out.printf("%n*** An alert was present ***");
alertPresent=true;
}
catch (NoAlertPresentException e) {
System.out.printf("%n*** An alert was not present ***");
alertPresent=false;
}
return alertPresent;
}
现在取决于你是否警报存在与否可以直接您的流量,你这是怎么接受的警报(是的,OK,继续):
if (alertPresent==true){
driver.switchTo().alert().accept();
System.out.println("Successfully accepted an alert!");
}
else{System.out.println("Couldn't locate an alert!");}
希望以上解决它给你;如果没有,不用担心,在下面发帖子,我们会看到我们能做些什么。
祝你好运!
只是一个愚蠢的假设,因为我不明白为什么标准的http:// username:[email protected]不起作用。也许你正在使用https而不是http? :) –
它适用于https,但在网站上有些页面被限制为https在那种情况下警告框再次发生 –