如何使用Selify和Python绕过带有Buster扩展的ReCaptcha

How to bypass ReCaptcha with buster extension using Selenium and Python(如何使用Selify和Python绕过带有Buster扩展的ReCaptcha)
本文介绍了如何使用Selify和Python绕过带有Buster扩展的ReCaptcha的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前,我使用Selify自动化了一些流程,需要解决Google ReCaptcha。用来解决ReCaptcha的技术是浏览器,即插件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图标在另一个同级<iframe>中。因此,您必须:

  • 切换回default_content()。

  • 诱导WebDriverWait使所需的帧可用并切换到它

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

  • 您可以使用以下Locator Strategies:

  • 代码块:

    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
  • How to send text to the Password field within https://mail.protonmail.com registration page?

OUTIO

Ways to deal with #document under iframe

这篇关于如何使用Selify和Python绕过带有Buster扩展的ReCaptcha的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)