场景:selenium,java,firefox和alert 所以,我写了一些回溯代码来处理抓取网站时的提醒。
在搜索selenium和警报时很容易找到这种代码。
try {
Alert alert = driver.switchTo().alert();
alert.accept();
} catch (NoAlertPresentException e) {
LOGGER.debug("No alert available: " + url);
}
这似乎适用于我的几个测试用例。一个是tomcat主页,如果你点击“状态”,你就会弹出一个弹出窗口。例如。
现在我碰到了阻止上述代码的对话框。
触发该对话框的链接为http://www.fcb.com/news/rss。
另外,在this帖子上,我发现了一条评论说“我们无法处理在onload功能上创建的确认框”#34;我想知道这意味着什么,但我的声誉如此之低,我还不能评论:)。
另外,正如第一个答案所指出的那样,有问题的对话框和有效的对话框都是"认证"警报。我不想要进行身份验证。
所以,回顾一下,问题是为什么TargetLocator.alert()调用块?我的最终目标是关闭我在driver.get(url)之后可能遇到的任何对话。
有什么想法吗?
由于 克里斯蒂安
P.S。关于重复标签,我不认为它是重复的。代码建议那里也没有用。我的问题的主要目标之一是理解为什么这个弹出窗口阻止调用alert()
答案 0 :(得分:0)
根据您提供的链接http://www.fcb.com/news/rss,在导航到此时,它会显示身份验证弹出窗口。它不是警报,这是你面临问题的原因..
检查一下:Handling Browser Authentication using Selenium
如果不是您要找的,请解释此问题,因为我无法发表评论以获得更多解释。
谢谢你, 穆拉利