我目前正在尝试验证码解决,并决定使用流行的 2captcha 服务来实现此目的。他们的方法是向他们发送验证码值(谷歌验证码密钥和站点线程),然后他们解决它并向我发回应该发送给谷歌的完成值,以检查验证码是否已解决。
我被困在最后一步;使用返回的解决值并将其发送给谷歌。正如文档https://2captcha.com/2captcha-api#callback https://2captcha.com/2captcha-api#callback解释一下,我发现没有“提交”按钮,因此需要自己找到 recaptcha 回调函数,这样我就可以调用它。然而,我确实很难找到该功能,因为一切似乎都很混乱。我探索了他们所有的方法来找到回调函数,但一直无法做到。我认为我最接近的是找到混淆的recaptcha-en.js(位于sources>webworker.js>www.gstatic.com>recaptcha/api2/v1519325468512
) https://pastebin.com/VgtJUftm https://pastebin.com/VgtJUftm其中包含一些回调搜索词,尽管由于混淆我不知道该调用什么。尝试了一些反混淆工具但没有运气。
所以;当 recaptcha 未托管在我自己的网站上时,如何找到并触发 ReCaptcha 回调函数?提前致谢
设法解决我的问题,成功解决验证码,尽管我没有设法找到如何调用验证码回调函数。将返回的验证码求解值插入“g-recaptcha-response”字段后,我只需使用 javascript 提交表单,如下所述http://www.deathbycaptcha.com/user/api/newtokenrecaptcha#how-use-token http://www.deathbycaptcha.com/user/api/newtokenrecaptcha#how-use-token.
硒与 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();");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)