在selenium框架2.25中,我看到我们具有UnexpectedAlertBehaviour枚举类型,但我不知道如何使用它。
我发现了有关您的问题的文档的这一部分:这对其他人也可能有用:
v2.25.0
=======
WebDriver:
对话。目前尚未在任何驱动程序中实现。
下一个版本。
不推荐使用的浏览器特定的WebElement子类。
向远程Webdriver添加了对“ requiredCapabilities”的支持
并在Firefox中实现了对这些功能的基本支持
司机。未能满足要求的能力将导致
要抛出的SessionNotCreatedException。
增加了确定应如何处理未处理警报的功能。 这由“ unexpectedAlertBehaviour”功能处理,该功能可以是“ accept”,“ dismiss”或“ ignore”之一。Java代码应使用UnexpectedAlertBehaviour枚举。目前仅在Firefox中实现。
允许在Firefox中配置本机事件,并且
(通过实验)在IE中使用“ nativeEvents”功能。
.....
此处提供了整个列表
这里是来源
package org.openqa.selenium; public enum UnexpectedAlertBehaviour { ACCEPT ("accept"), DISMISS ("dismiss"), IGNORE ("ignore") ; private String text; private UnexpectedAlertBehaviour(String text) { this.text = text; } @Override public String toString() { return String.valueOf(text); } public static UnexpectedAlertBehaviour fromString(String text) { if (text != null) { for (UnexpectedAlertBehaviour b : UnexpectedAlertBehaviour.values()) { if (text.equalsIgnoreCase(b.text)) { return b; } } } return null; } }
如我所见,您使用unexpectedAlertBehaviour来确定是否未处理警报,如果是,则将决定如何处理它。
我想应该是这样的(我的假设):
try{ alert.accept(); } catch(org.openqa.selenium.UnexpectedAlertBehaviour){ ///...blablabla }