如何使imacro选择/解决验证码?(RecaptchaV2)

时间:2016-02-09 16:24:42

标签: recaptcha

我编辑了一些代码以自动解决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``

3 个答案:

答案 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将您的元素的答案用作核心代码的小片段:

&#13;
&#13;
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;
&#13;
&#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功能。