我正在使用selenium解析我的页面,并且我也在使用selenium处理JavaScript警报消息。但是,检查每个页面是否有JS警报弹出消息非常耗时,因为它们并不是所有页面都有的。如何使这个过程更快,因为现在每次检查需要超过1秒钟。 用Selenium Webdrive检查JS警报弹出窗口的代码: try { webDriver.SwitchTo().Alert().Accept(); // prepares Selenium to handle alert } catch (NoAlertPresentException e) { // no alert message }
未来webdriver的一个增强功能是:如果出现警报,任何命令都会抛出异常。目前的SwitchTo().Alert()实现会导致一小段延迟,因为它必须等待浏览器传播警报窗口的事件(如果我没记错,这个延迟是300毫秒)。现在,当您不确定页面上是否会出现警报时,您所拥有的就是最好的选择。将来,您应该能够捕获不带延迟的常规命令的不同异常。