首页 > 解决方案 > Selenium 很好地检测到弹出对话框,但无法处理它

问题描述

我的配置如下:

我只是想接受一个打开的弹出警报。我已经实现了以下代码:

try:

    WebDriverWait(driver, 10).until(EC.alert_is_present())
    alert = driver.switch_to.alert
    alert.accept()
    print("Accept")

except TimeoutException:

    print("no alert")

程序检测到弹出对话框,打印“接受”消息,但不干扰它。我也不例外(消息“无警报”)或错误程序,弹出警报仍然保持打开状态。该命令.dismiss()也不起作用。

我为 IE 11 尝试了几种不同的驱动程序,但没有成功。

如果有人可以帮助我,我将不胜感激:-)。

标签: pythonseleniumselenium-webdriver

解决方案


似乎你有缩进错误。

所以,你的代码应该是:

try:

    WebDriverWait(driver, 10).until(EC.alert_is_present())
    alert = driver.switch_to.alert
    alert.accept()
    print("Accept.")

except TimeoutException:

    print("No alert.")

希望对你有帮助!


推荐阅读