首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使imacro选择/求解验证码?(RecaptchaV2)

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

Stack Overflow用户
提问于 2016-02-10 00:24:42
回答 3查看 2.1K关注 0票数 1

我编辑了一些代码来自动求解recaptcha v2。我从api上得到了2captcha/9kw的数字,一切都很完美!

但在我拿到数字之后。如: 258如何使每个数字选中此框?

这是我对这部分的代码:(但不是选择特定的数字,而是选择所有的照片)

如果有人知道如何修复它,请帮助。

代码语言:javascript
复制
'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``
EN

回答 3

Stack Overflow用户

发布于 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将答案与元素一起用作核心代码的小片段:

代码语言:javascript
复制
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();
		}
	}
}

票数 0
EN

Stack Overflow用户

发布于 2016-02-10 03:37:30

我没有试图解决这个问题,但我确实研究过这个问题。你必须使用事件命令和实验记录。当你将新的recaptcha图像发送到DBC时,他们将发送类似于(4),(1),(2)的内容。

通过少量的JS代码和事件命令,您可以使用上面的数字来单击图像的匹配位置。

票数 -1
EN

Stack Overflow用户

发布于 2016-02-26 20:11:46

有一个imacros 2captcha API示例:https://www.dropbox.com/s/bmex7ya4xv510jo/Imacros%20API%20Example.zip?dl=0,但没有集成reportbad功能。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35297049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档