如何手动调用(查找)ReCaptcha回调函数?

时间:2018-02-25 14:32:50

标签: javascript function callback recaptcha captcha

我目前正在尝试验证验证码,并决定使用流行的2captcha服务。他们的方法是向他们发送recaptcha值(google recaptcha key& site thread),然后他们解决它并将我应该发送给google的完成值发回给我,以检查验证码是否已经解决。

我坚持到最后一步;使用返回的求解值并将其发送到谷歌。正如文档https://2captcha.com/2captcha-api#callback解释的那样,我发现没有“提交”按钮因此需要自己找到recaptcha回调函数,所以我可以调用它。但是我很难找到这个功能,因为一切都看似混淆了。我探索了他们找到回调函数的所有方法但却无法这样做。我认为最接近的是找到混淆的recaptcha-en.js(位于sources>webworker.js>www.gstatic.com>recaptcha/api2/v1519325468512https://pastebin.com/VgtJUftm,其中包含一些回调搜索词,但由于混淆我不知道该叫什么。在没有运气的情况下尝试了一些反混淆工具。

因此;当我的网站上没有托管recaptcha时,如何找到并触发ReCaptcha Callback功能?提前致谢

1 个答案:

答案 0 :(得分:1)

管理解决我的问题,成功解决验证码,虽然我没有设法找到如何调用recaptcha回调函数。在我将返回的captcha solve-value插入到我的“g-recaptcha-response”字段后,我只是使用javascript来提交表格,如http://www.deathbycaptcha.com/user/api/newtokenrecaptcha#how-use-token所述。

Selenium with Java:

    JavascriptExecutor js = (JavascriptExecutor) driver;
System.out.println("Executing js set-recaptcha-response script");
js.executeScript("document.getElementById(\"g-recaptcha-response\").innerHTML=\"" + responseToken + "\";");
System.out.println("Executing js submit-form script");
js.executeScript("document.getElementsByName('post')[0].submit();");