如何点击并验证弹出框(警告)的存在

2 投票
3 回答
3618 浏览
提问于 2025-04-16 00:14

我正在使用Selenium这个工具。
当我尝试点击一个按钮时,它会弹出一个提示框(警告),而且不会返回页面对象。
因此,我不能单独使用“click”这个方法,因为这个方法需要一个页面对象,最终会因为超时而失败。
我可以使用“chooseOkOnNextConfirmation()”这个方法,但这会直接点击弹出的提示框,而我还想确认这个提示框确实出现了。
有没有什么方法可以同时点击并验证这个提示框呢?

3 个回答

1

据我所知,在弹出提示框时,你总是需要使用这个方法。

selenium.get_confirmation()

根据Python的文档:如果弹出的确认框出现了,但你没有用getConfirmation这个方法去处理它,那么接下来的Selenium操作就会失败。

2

我正在做以下操作来关闭一个警告框(你可以根据需要调整,让它只验证弹出窗口)

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

    return result
2

要处理一个警告框,你需要使用

getAlert() 这个方法,它会自动点击警告框上的“确定”按钮。这个方法还会返回警告框里的文字,这样你就可以确认这个警告框是不是你想要的。

举个例子:

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

撰写回答