2016-02-09 43 views
1

我编辑了一些代码来自动解决recaptcha v2。 我从2captcha/9kw的api得到的数字,都是完美的!如何让imacro选择/解决captcha?(RecaptchaV2)

但我得到的数字。 LIKE: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`` 

回答

-1

我没有试图解决这个问题,但我没有考虑这一点。您必须使用EVENT命令和实验记录。当你将新的图像发送给DBC时,他们会发送类似[(4),(1),(2)]的东西。

使用小JS代码和EVENT命令,您可以使用上面的数字来点击图像的匹配位置。

0

这是imacros。在javascript和jquery中有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){ 
 
\t for(var i = 0;i < myarray.length; i++){ 
 
\t \t if(myarray[i].match(/^[0-9]+$/)){ 
 
\t \t \t myarray[i] = parseFloat(myarray[i]) - 1; 
 
\t \t \t if(myarray[i] == ""){ 
 
\t \t \t \t myarray[i] = 0; 
 
\t \t \t } 
 
\t \t \t $('iframe').contents().find('html').find(".rc-image-tile-wrapper").eq(myarray[i]).click(); 
 
\t \t } 
 
\t } 
 
}