首页 > 解决方案 > 没有这样的元素例外。无法在 selenium python 中找到元素

问题描述

我想 在此页面https://www.archionweb.be/Public/Company/1930上从https://www.archionweb.be/抓取电子邮件。

电子邮件在验证码中受到保护,因此想法是单击验证码然后提取电子邮件。但是每当我尝试点击验证码按钮(我同时使用了 XPath 和 CSS 选择器)时,都会出现异常:

“没有这样的元素:无法找到元素”

请如果有人可以帮助我解决这个问题。

标签: pythonseleniumweb-scrapingdata-miningdata-extraction

解决方案


由于即使在单击I am not a Robot它之后我们也正在自动化,因此有时会再次重新验证码。能够使用以下代码单击复选框。

from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains


driver = webdriver.Chrome(executable_path="path to chromedriver.exe")
driver.maximize_window()
driver.implicitly_wait(30)
driver.get("https://www.archionweb.be/Public/Company/1930")
time.sleep(5)
iframe = driver.find_element_by_xpath("//iframe[@title='reCAPTCHA']")
driver.switch_to.frame(iframe)
time.sleep(5)
recaptcha = driver.find_element_by_class_name("recaptcha-checkbox-borderAnimation")
driver.execute_script("arguments[0].scrollIntoView(true);",recaptcha)
ActionChains(driver).move_to_element(recaptcha).click().perform()
time.sleep(2)
driver.switch_to.default_content()


推荐阅读