2016-02-09 79 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 } 
 
}