【发布时间】:2011-03-06 07:39:03
【问题描述】:
我正在使用硒。 在尝试单击按钮时,它会创建一个弹出窗口(警报)并且不返回页面对象。 因此,我不能单独使用“点击”,因为此方法需要一个页面对象并最终由于超时而失败。 我可以使用“chooseOkOnNextConfirmation()”,但这将单击弹出窗口,我还想验证弹出窗口是否实际出现。 有没有什么方法可以点击验证这个alert?
【问题讨论】:
我正在使用硒。 在尝试单击按钮时,它会创建一个弹出窗口(警报)并且不返回页面对象。 因此,我不能单独使用“点击”,因为此方法需要一个页面对象并最终由于超时而失败。 我可以使用“chooseOkOnNextConfirmation()”,但这将单击弹出窗口,我还想验证弹出窗口是否实际出现。 有没有什么方法可以点击验证这个alert?
【问题讨论】:
对于警报,您需要使用任一
getAlert() 调用将在警报上单击确定。它还会返回警报中的文本,以便您检查所需的警报。
举个例子
self.assertEqual("An alert",selenium.get_alert());
【讨论】:
据我所知,您必须始终在警报中使用
selenium.get_confirmation()
来自 python 文档: 如果生成了确认但您没有使用 getConfirmation 使用它,则下一个 Selenium 操作将失败。
【讨论】:
我正在执行以下操作以消除警报(您可以调整以使其仅验证弹出窗口)
def dismissAlert():
result = None
try:
alert = browser.switch_to.alert
alert.dismiss()
result = True
except NoAlertPresentException:
result = False
return result
【讨论】: