如何点击并验证是否存在弹出窗口(警报)

时间:2010-06-21 13:01:28

标签: python selenium

我正在使用硒。 在尝试单击按钮时,它会创建一个弹出窗口(警报)并且不会返回页面对象。 因此我不能单独使用“click”,因为此方法需要页面对象,并且最终因超时而失败。 我可以使用“chooseOkOnNextConfirmation()”,但这会点击弹出窗口,我也想验证弹出窗口是否真的出现了。 是否有任何方法可以点击并验证此警报?

3 个答案:

答案 0 :(得分:2)

警告您需要使用

getAlert()调用将在警报上单击“确定”。它还会返回警报中的文本,以便您可以检查其所需的警报。

所以一个例子是

self.assertEqual("An alert",selenium.get_alert());

答案 1 :(得分:2)

我正在执行以下操作以解除警报(您可以调整以使其仅验证弹出窗口)

def dismissAlert(): 
    result = None
    try:
        alert = browser.switch_to.alert
        alert.dismiss()
        result = True
    except NoAlertPresentException:    
        result = False

    return result

答案 2 :(得分:1)

据我所知,你必须始终使用警报

  

selenium.get_confirmation()

来自python doc的

: 如果生成确认但您没有使用getConfirmation消耗它,则下一个Selenium操作将失败。