Selenium可以很好地检测到弹出对话框,但无法处理

时间:2018-09-27 11:00:57

标签: python selenium selenium-webdriver

我的配置如下:

  • 硒:3.14.1
  • IEDriverServer:3.9-x64
  • IDE:IE 11
  • Python 3.4.4

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

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尝试了几种不同的驱动程序,但没有成功。

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

1 个答案:

答案 0 :(得分:1)

似乎您有缩进错误。

因此,您的代码应为:

try:

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

except TimeoutException:

    print("No alert.")

希望对您有帮助!