首页 > 解决方案 > 如何使用硒单击验证码“单击以验证”按钮

问题描述

我正在尝试使用 XPath 单击“单击以验证”验证码按钮,但它不起作用。它返回错误消息:

消息:没有这样的元素:无法找到元素:{"method":"xpath","selector":"//*[@id="1e505deed3832c02c96ca5abe70df9ab"]/div"}

这是我的代码:

click_to_verify = wd.find_element_by_xpath('//*[@id="1e505deed3832c02c96ca5abe70df9ab"]/div')
click_to_verify.click()

我还不担心单击按钮时会出现的验证码。我只想能够点击按钮。有什么建议么?

标签: pythonseleniumclick

解决方案


我可能会说您要单击的验证码在 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()

我不建议您1e505deed3832c02c96ca5abe70df9abxpath中使用,因为它可能会在您每次执行脚本时发生变化。

进口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

推荐阅读