python - 如何使用硒单击验证码“单击以验证”按钮
问题描述
我正在尝试使用 XPath 单击“单击以验证”验证码按钮,但它不起作用。它返回错误消息:
消息:没有这样的元素:无法找到元素:{"method":"xpath","selector":"//*[@id="1e505deed3832c02c96ca5abe70df9ab"]/div"}
这是我的代码:
click_to_verify = wd.find_element_by_xpath('//*[@id="1e505deed3832c02c96ca5abe70df9ab"]/div')
click_to_verify.click()
我还不担心单击按钮时会出现的验证码。我只想能够点击按钮。有什么建议么?
解决方案
我可能会说您要单击的验证码在 iframe 中。将验证码放入 iframe 是非常常见的设计。如果它在 iframe 中,则需要像这样切换 Web 驱动程序的焦点:
wait = WebDriverWait(wd, 10)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, "iframe xpath")))
click_to_verify = wd.find_element_by_xpath('//*[@id="1e505deed3832c02c96ca5abe70df9ab"]/div')
click_to_verify.click()
我不建议您1e505deed3832c02c96ca5abe70df9ab
在xpath中使用,因为它可能会在您每次执行脚本时发生变化。
进口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
推荐阅读
- python - Pandas 跨行和列的净值
- java - Spring-boot Restful 服务中我的 Request 参数 Interceptor 有什么问题?
- python - 类似于黄金分割率的递归算法
- maven - 强化排除文件位置
- dax - 在 DAX 中查找去年的同一工作日
- typescript - 打字稿在带有休息参数的子中断中生成一个新实例
- javascript - 使用jquery删除输入后无法重新计算动态添加输入的总和?
- javascript - 在 HighCharts 中绘制 JSON 数据时遇到问题
- amazon-web-services - 如何使用 Cloudformation 在特定端口上映射 LoadBalancer ListenerRule?
- cscore - AudioPlayerSample 方法或操作未实现