【问题标题】:Hcaptcha + 2captcha/anticaptcha in Python Selenium ChromedriverPython Selenium Chromedriver 中的 Hcaptcha + 2captcha/anticaptcha
【发布时间】:2020-11-24 09:43:46
【问题描述】:

我正在尝试使用 python selenium 中的 webdriver 在 cloudflare 反 ddos​​ 加载页面上绕过 hcaptcha。基本上,当令牌放入 h-captcha-response 和 g-recaptcha-response 字段时,我已经到了这一点,我可以提交 hcaptcha 表单。问题是当我尝试提交它时,hcaptcha 区域看起来像是重新加载,并且在尝试再次提交后它不断发生。是否有可能对我的用户代理进行某种禁令?更重要的是,我有时在提交表单后会收到 502 http 错误。

driver.execute_script(f"document.getElementsByName('h-captcha-response')[0].innerHTML = '{token}';")
time.sleep(1)
driver.execute_script(f"document.getElementsByName('g-recaptcha-response')[0].innerHTML = '{token}';")
time.sleep(1)
driver.execute_script("document.getElementById('challenge-form').submit();")

【问题讨论】:

  • 显示您的代码。确保您提交的是正确的表单。
  • @pguardiario 2captcha 的文档说我必须将从他们那里收到的令牌插入到 h-captcha-response 和 g-recaptcha-response 中,我可以毫无问题地做到这一点。但是,当我尝试提交表单时,它不起作用。我已经添加了代码,正是这样做的。
  • 看起来不错。检查网络选项卡中的传出表单提交以确保它在那里。
  • @hen 想知道你有没有想过这个问题?

标签: python selenium webdriver captcha 2captcha


【解决方案1】:

10 个月前,你需要

driver.execute_script(f"grecaptcha.getResponse = function(){return '{token}'}")

现在您需要在页面上的所有脚本之前注入 js 代码,并注入具有特殊属性 render 的 hcaptcha 对象以拦截回调函数。 https://alexandrsokolov-41020.medium.com/%D1%80%D0%B5%D1%88%D0%B0%D0%B5%D0%BC-hcaptcha-9eebf2ee3c5a

【讨论】:

  • 抱歉回复晚了,我没有完成这个项目,但是当我回来时会告诉你它是否有效
  • 阅读文章。我为这个问题做了插件
  • 感谢@alex 的链接!您在文章中定义了 submit_captcha(token) 方法,但我找不到有关如何获取验证码的实际令牌的任何信息。
猜你喜欢
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
  • 2020-02-03
  • 2021-04-10
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
相关资源
最近更新 更多