python - Selenium 很好地检测到弹出对话框,但无法处理它
问题描述
我的配置如下:
- 硒: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 尝试了几种不同的驱动程序,但没有成功。
如果有人可以帮助我,我将不胜感激:-)。
解决方案
似乎你有缩进错误。
所以,你的代码应该是:
try:
WebDriverWait(driver, 10).until(EC.alert_is_present())
alert = driver.switch_to.alert
alert.accept()
print("Accept.")
except TimeoutException:
print("No alert.")
希望对你有帮助!
推荐阅读
- php - 使用 shopify 的 API 和 PHP 获取 shopify 商店中的所有产品
- r - 条形图ggplot2中的y轴绘制不正确
- php - 安装 PHP OCI8 Linux Centos 8 时使用什么路径
- ray - 如何防止对头部执行审判
- python - 处理多个 JSON 文件时遇到问题
- javascript - 如何将自定义 CSS 添加到带有链接的 highcharts.js 锚标签
- machine-learning - 为什么我们不应该在同一层使用多个激活函数?
- performance - 有没有办法测量缓存一致性未命中
- crystal-lang - 在数据库中将空字符串保存为 NULL。AmberFramework / 花岗岩
- go - 更新 MS SQL 表