如何使用 Selenium 和 Python 绕过带有 buster 扩展的 ReCaptcha

How to bypass ReCaptcha with buster extension using Selenium and Python

目前,我使用 selenium 自动化一些流程,需要解决 Google ReCaptcha。用于解决 ReCaptcha 的技术是浏览器 Plugin Buster。我使用以下

输入 Google ReCaptcha
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])
check_box = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "recaptcha-anchor")))
check_box.click()

现在我切换回默认框架使用:

driver.switch_to.default_content()

所以我需要单击 Buster 图标,但该怎么做?

要单击的图标:

Buster icon 在另一个同级 <iframe> 中。所以你必须:

  • 切换回

  • 诱导 WebDriverWait 以获得所需的 框架并切换到它

  • 诱导 WebDriverWait 使所需的 元素可点击

  • 您可以使用以下:

  • 代码块:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    driver.switch_to.default_content()
    WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"//iframe[@title='recaptcha challenge']")))
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//button[@id='solver-button']"))).click()
    
  • 浏览器快照:


参考

您可以在以下位置找到一些相关讨论:

  • How to interact with the reCAPTCHA audio element using Selenium and Python

结尾