Selenium Webdriver和检查警报消息

3
我正在使用selenium解析我的页面,并且我也在使用selenium处理JavaScript警报消息。但是,检查每个页面是否有JS警报弹出消息非常耗时,因为它们并不是所有页面都有的。如何使这个过程更快,因为现在每次检查需要超过1秒钟。

用Selenium Webdrive检查JS警报弹出窗口的代码:

try
{
webDriver.SwitchTo().Alert().Accept(); // prepares Selenium to handle alert 
}
catch (NoAlertPresentException e)
{
// no alert message
}
1个回答

2
未来webdriver的一个增强功能是:如果出现警报,任何命令都会抛出异常。
目前的SwitchTo().Alert()实现会导致一小段延迟,因为它必须等待浏览器传播警报窗口的事件(如果我没记错,这个延迟是300毫秒)。
现在,当您不确定页面上是否会出现警报时,您所拥有的就是最好的选择。将来,您应该能够捕获不带延迟的常规命令的不同异常。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接