使用Selenium和python提交reCAPTCHA v2-无表单提交按钮

时间:2020-06-02 07:58:41

标签: javascript python selenium recaptcha

所以我最近注册了反验证码,并一直在使用https://github.com/ad-m/python-anticaptcha/blob/master/examples/recaptcha_selenium.py脚本进行测试。

我无法通过没有提交按钮(隐藏或可见)或清晰提交验证方式的reCAPTCHA。我已经使用了反验证码firefox插件,所以我知道它可以通过。但是我自己只能手动执行此操作。

我认为this将是一个有用的答案,但是并没有深入探讨。我能够获得job.get_solution_response()令牌并将其输入到所需的textfield中,但是我无法提交“表单”。

有人能成功吗?我也希望在浏览器的无头版本中执行此操作。基于无头和无头的解决方案会有所不同吗?

顺便说一句,realtor(dot)com是我遇到麻烦的网站。如果我不大声发布此网站,请告诉我,以便将其删除。

2 个答案:

答案 0 :(得分:1)

我回到该网站的源代码,发现它们正在使用一个函数作为验证的回调...

我看到他们正在使用一个名为solvedCaptcha的函数并注入一个变量名payload。所以这是我解决的方法:

注意:确保驱动程序当前在reCAPTCHA页面上。

driver.execute_async_script("var payload = '<enter the job.get_solution_response() here>'; solvedCaptcha(payload);")

此异步脚本随后调用页面的验证,并重新加载被阻止的窗口。

注意:此验证码没有提交按钮,也没有放置在表单中。因此,在驱动程序中的项目上使用.submit()无效。

答案 1 :(得分:0)

尝试发送\ n或密钥的密钥。输入到文本字段。 这是我项目中的解决方案。 这也是通用的