如何从2captcha,Python,Selenium提交令牌进行重新验证?

snz8szmq  于 2023-01-26  发布在  Python
关注(0)|答案(1)|浏览(126)

bounty将在2天后过期。回答此问题可获得+50的声望奖励。JamesHorab正在寻找规范答案

我想用2captcha API解决ReCaptcha。检查这个图像,没有recaptcha的提交按钮。

我可以向2captcha发送请求,并从2captcha获得g-captcha-response,然后使用下面的代码插入g-captcha-response。

document.getElementById("g-recaptcha-response").innerHTML="TOKEN_FROM_2CAPTCHA";

但问题是没有提交按钮来提交captcha。
你能帮我找出提交按钮来提交摘要吗?
谢谢

tvmytwxo

tvmytwxo1#

使用验证码回调。
在某些情况下,这可能不起作用!
要找到正确的回调字符,请进入您要求解的站点。打开Developer tools/Inspect元素并导航到Console选项卡。然后输入___grecaptcha_cfg.clients[0]。输入此字符后,您将获得返回给您的Object。在我的示例中:

O: 16293487264
S: null
U: null

现在,对于这里的每个字母,试试这个:

___grecaptcha_cfg.clients[0].letter.letter.callback('recaptcha_token');

你可以做一个自动化的方法,比如:

alphabet = list(string.ascii_lowercase)
for letter in alphabet:
    try:
        driver.execute_script(f"___grecaptcha_cfg.clients[0].{letter.upper()}.{letter.upper()}.callback('{result}');")
        print("Letter was "+letter)
        break
    except:
        pass

希望这有帮助!

相关问题