我编辑了一些代码以自动解决recaptcha v2。 我从2captcha / 9kw的api得到数字,一切都很完美!
但是在得到数字之后。像:258 如何让每个数字选中此框?
这是我对此部分的代码: (但不选择具体数字,选择所有照片)
如果有人知道如何解决,请帮助。
'Fill the recognized characters to the verification box (Click the pictures 1..9)
FRAME F=2
SET !ERRORIGNORE YES
SET 1 EVAL("var s=\"{{answer}}\"; if(s.match(/^[0-9]+$/) && s.length <= 9 && s.length >= 2) s.substr(0,1); else MacroError(\"Captcha answer is wrong.\")")
TAG POS=1 TYPE=IMG ATTR=SRC:https://www.google.com/recaptcha/api2/payload?c=*
SET !ERRORIGNORE NO``
答案 0 :(得分:0)
它的想象力。 javascript和jquery中的imacros有9kw API recaptcha v2示例,其功能为recaptcha_v2_jquery.js:https://www.9kw.eu/grafik/plugins/9kweu_recaptcha_v2.zip
然后你使用jquery在iim,javascript和javascript中拥有完整的imacros解决方案。并且你可以使用任何其他服务,改变几行。
我不能引用很长的例子(在stackoverflow上没有附件)并且downloadlink已经在线多年。
或者你可以使用imacros和javascript / jquery,然后你可以用javascript检查/抓取它。见iMacros Http POST to API endpoint
使用jquery将您的元素的答案用作核心代码的小片段:
var answer = "853";
var myarray = answer.split('');
if(myarray.length > 1){
for(var i = 0;i < myarray.length; i++){
if(myarray[i].match(/^[0-9]+$/)){
myarray[i] = parseFloat(myarray[i]) - 1;
if(myarray[i] == ""){
myarray[i] = 0;
}
$('iframe').contents().find('html').find(".rc-image-tile-wrapper").eq(myarray[i]).click();
}
}
}
&#13;
答案 1 :(得分:-1)
我没有尝试解决这个问题,但我确实对此进行了调查。你必须使用EVENT命令和实验录音。当您将新的重新接收图像发送到DBC时,他们将发送类似[(4),(1),(2)]的内容。
使用少量JS代码和EVENT命令,您可以使用上面的数字来点击图像的匹配位置。
答案 2 :(得分:-1)
有imacros 2captcha API示例: https://www.dropbox.com/s/bmex7ya4xv510jo/Imacros%20API%20Example.zip?dl=0 但没有集成reportbad功能。