方案:硒,爪哇,firefox和警报因此,我编写了一些时间返回代码来处理警报,同时爬行网站。
搜索硒和警报时很容易找到这种代码。
try {
Alert alert = driver.switchTo().alert();
alert.accept();
} catch (NoAlertPresentException e) {
LOGGER.debug("No alert available: " + url);
}
这似乎适用于我的几个测试用例。一个是tomcat主页,例如,如果您单击"状态",则会在其中获得弹出窗口。
现在,我撞到了一个对话框,该对话框阻止了上述代码。switchto()返回目标纵隔,但该定位器块上的alert()永远不会返回。
触发对话框的链接是http://www.fcb.com/news/rss。
另外,在这篇文章中,我发现一条评论说:"我们无法在Onload功能上创建的确认框来处理",我想知道这意味着什么,但是我的声誉是如此之低,我还不能发表评论:)。
另外,正如第一个答案中指出的那样,有问题的对话框和有效的对话框都是"身份验证"警报。我不想进行身份验证。
因此,回顾一下,问为什么targetLocator.alert()呼叫块?我的最终目标是关闭我在驱动程序之后可能遇到的任何此类对话框。get(url)。
有什么想法吗?
谢谢克里斯蒂安
P.S。关于重复标签,我认为这不是重复的。建议在那里也不起作用的代码。我问题的主要目标之一是了解为什么在呼叫呼叫()
根据链接,您提供了http://www.fcb.com/news/rss,在导航时,它显示了身份验证弹出窗口。它不是警报,这是您面临问题的原因。
检查以下内容:使用硒处理浏览器身份验证
如果不是您想要的,请解释这个问题,因为我无法发表评论以获取更多解释。
谢谢,穆拉利