我编辑了一些代码来自动求解recaptcha v2。我从api上得到了2captcha/9kw的数字,一切都很完美!
但在我拿到数字之后。如: 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``发布于 2016-03-23 18:36:09
这是imacros。对于javascript和jquery中的imacros,有一个9kw API recaptcha v2示例,您的功能如下: recaptcha_v2_jquery.js:https://www.9kw.eu/grafik/plugins/9kweu_recaptcha_v2.zip
然后你就有了完整的iim、javascript和jquery的imacros解决方案。并且您可以使用任何其他服务,只需更改几行代码。
我不能引用很长的例子(在stackoverflow上不可能有附件),下载链接已经在线多年了。
或者你可以在javascript/jquery中使用imacros,然后你可以用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();
}
}
}
发布于 2016-02-10 03:37:30
我没有试图解决这个问题,但我确实研究过这个问题。你必须使用事件命令和实验记录。当你将新的recaptcha图像发送到DBC时,他们将发送类似于(4),(1),(2)的内容。
通过少量的JS代码和事件命令,您可以使用上面的数字来单击图像的匹配位置。
发布于 2016-02-26 20:11:46
有一个imacros 2captcha API示例:https://www.dropbox.com/s/bmex7ya4xv510jo/Imacros%20API%20Example.zip?dl=0,但没有集成reportbad功能。
https://stackoverflow.com/questions/35297049
复制相似问题