Готовый код Imacros

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8
В последнее время появилось много вопросов так или иначе посвященных связке CapMonster2+Imacros.
Пара советов тем, кто пытается использовать эти 2 продукта:
1. Изучите синтаксис и команды imacros самостоятельно - не имея представления о том, что, где и как работает, при малейшем изменении страницы или каптчи ваши готовые (взятые с форума) скрипты становятся просто бесполезны.
2. Изучая imacros обязательно!!! сразу учитесь использовать javascript - только он позволит сделать ваши скрипты динамичными и подходящими к любым условиям.

Чтобы не быть голословным - вот код сохранения аудиорекаптчи на компьютер, оправка на распознавание и ввод ответа. При выпадение вместо звука новой текстовой каптчи рекаптча обновляется пока не выпадет аудиокаптча. При появлении сообщения "Вы должны выполнить несколько заданий" - каптча разгадывается еще раз (максимум 3 раза больше просто смысла нет).
Код:
var zapros=0;
var t1=0;
var n = '\n';
var standartcode = 'SET !EXTRACT_TEST_POPUP NO \n SET !ERRORIGNORE YES \n';

var SaveTo="C:\\www\\"; //Путь для сохранения файла
var FileName='AudioReCaptcha.mp3' //Имя файла
var Forma='file:///C:/www/imacros.html' //Путь к форме imacros
var ip='1.1.1.1'; //ip вашего сервера CapMonster2
var key=''; //ключ (если надо) для вашего сервера CapMonster2

function CloseAllOthers() {
var code =standartcode;
code += 'SET !TIMEOUT_STEP 0'+n;
code += 'ONDIALOG POS=1 BUTTON=OK CONTENT='+n;
code += 'TAB T=1'+n;
code += 'TAB T=0'+n;
code += 'TAB T=-1'+n;
code += 'TAB T=-2'+n;
code += 'TAB T=-3'+n;
code += 'TAB T=-4'+n;
code += 'TAB CLOSEALLOTHERS'+n;
iimPlayCode(code);
}

function PostCapMonster() {
var code = standartcode;   
code+='TAB OPEN'+n;
code+='TAB T=2'+n;
code+='URL GOTO='+Forma+n;
code+='SET !TIMEOUT_STEP 0'+n;
code+= 'WAIT SECONDS=1'+n;
iimPlayCode(code);
var form0 = window.document.forms[0];
form0.action='http://'+ip+'/in.php'
var code = standartcode;   
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT='+key+n;
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:CapMonsterModule CONTENT=ZennoLab.AudioReCaptcha'+n;
code+='TAG POS=1 TYPE=INPUT:FILE ATTR=TYPE:file CONTENT='+SaveTo+FileName+n;
code+='TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*'+n;
code+='TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'+n;
iimPlayCode(code);
var capchaID=iimGetExtract(1);
if (capchaID.indexOf('OK')!==-1){
capchaID=capchaID.substring(3,capchaID.length);
var capchaAnsver=SendPovtor(capchaID);
} else {
iimDisplay(capchaID);
}
return capchaAnsver;
}

function SendPovtor(capchaID){
var wait=10
var code = standartcode;
code+= 'WAIT SECONDS='+wait+n;
code+='URL GOTO=http://'+ip+'/res.php?action=get&id='+capchaID+n;
code+='TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'+n;
iimPlayCode(code);
var capchaAnsver=iimGetExtract(1);
iimDisplay(capchaAnsver);
if (capchaAnsver.indexOf('OK')!==-1){
capchaAnsver=capchaAnsver.substring(3,capchaAnsver.length);
zapros=0;   
return capchaAnsver;
} else if (capchaAnsver.indexOf('CAPCHA_NOT_READY')!==-1) {
iimDisplay(capchaAnsver);
if (zapros<=5) {
zapros=zapros+1;   
capchaAnsver=SendPovtor(capchaID);
} else if (5<zapros) {
zapros=0;   
}   
}
return capchaAnsver;   
}

function SaveCapcha () {
try{
var frame0 = window.document.querySelector('iframe[src^="https://www.google.com/recaptcha/api2/anchor?k="]');
frame0.id = 'rc0';
frame0.name = 'rc0';   
}catch(e){
var grecaptcha = window.document.getElementsByClassName('g-recaptcha')[0];
var frame0 = grecaptcha.childNodes[0].childNodes[0].childNodes[0];
frame0.id = 'rc0';
frame0.name = 'rc0';
}

var code = standartcode;   
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'TAG POS=1 TYPE=SPAN ATTR=CLASS:rc-anchor-error-msg EXTRACT=txt' + n;
iimPlayCode(code);

if (iimGetExtract(1)==null){
var code = standartcode;
code += 'WAIT SECONDS=1' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'WAIT SECONDS=1' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation' + n;
code += 'WAIT SECONDS=3' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM' + n;
iimPlayCode(code);
if (iimGetExtract(1).indexOf('checked="true')==-1){
try {
var frame1 = window.document.getElementsByTagName('div')[window.document.getElementsByTagName('div').length - 1].childNodes[0];
frame1.id = 'rc1';
frame1.name = 'rc1';   
} catch (e){
var frame1 = window.document.querySelector('iframe[src^="https://www.google.com/recaptcha/api2/frame?c="]');
frame1.id = 'rc1';
frame1.name = 'rc1';
}   
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-audio-button" BUTTON=0' + n;
code += 'WAIT SECONDS=2' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-text-instructions EXTRACT=HTM' + n;
iimPlayCode(code);
if (iimGetExtract(1).indexOf('rc-text-instructions')!==-1){
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;   
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
SaveCapcha ();
return   
}
var code = standartcode;
code += 'FRAME NAME="rc1"' + n;   
code += 'ONDOWNLOAD FOLDER='+SaveTo+' FILE='+FileName+' WAIT=YES' + n;
code+= 'TAG POS=1 TYPE=A ATTR=CLASS:rc-audiochallenge-download-link CONTENT=EVENT:SAVETARGETAS'+n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
var otvet=PostCapMonster();
CloseAllOthers();
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;
code += 'TAG POS=1 TYPE=INPUT ATTR=ID:audio-response CONTENT='+otvet+ n;
code += 'WAIT SECONDS=1' + n;
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM' + n;
iimPlayCode(code);
var checkcapcha=iimGetExtract(1);
if (checkcapcha.indexOf('checked="true')==-1){
t1=t1+1;   
if (t1<=2){
iimDisplay('Капча разгадана неправильно');
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;   
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
SaveCapcha ();
return   
} else {t1=0;}
} else {
iimDisplay('Капча разгадана правильно');
}
} else {
iimDisplay('Гугл сразу согласился что я не робот');
}
} else {}
return
}

SaveCapcha ()
Кроме это прикрепляю форму imacros, которой пользуюсь сам.
В коде не забудьте изменить значения переменных
var SaveTo, var FileName, var Forma, var ip,var key на свои.
 

Вложения

  • Спасибо
Реакции: 7make, rostonix и Luda1

Luda1

Client
Регистрация
28.12.2015
Сообщения
114
Благодарностей
19
Баллы
18
Спасибо большое! Всё работает на ура!
Даже обход новой капчи путём обновления (http://zennolab.com/discussion/threads/recaptha-2-posle-audio-razgadki-novaja-kapcha.27335/).
Немного поправлю, здесь:
Код:
var FileName='AudioReCaptcha.mp3' //Имя файла
var Forma='file:///C:/www/imacros.html' //Путь к форме imacros
; забыли.

Ещё раз большое спасибо!
 

Shejker

Новичок
Регистрация
06.02.2016
Сообщения
11
Благодарностей
0
Баллы
1
В последнее время появилось много вопросов так или иначе посвященных связке CapMonster2+Imacros.
Пара советов тем, кто пытается использовать эти 2 продукта:
1. Изучите синтаксис и команды imacros самостоятельно - не имея представления о том, что, где и как работает, при малейшем изменении страницы или каптчи ваши готовые (взятые с форума) скрипты становятся просто бесполезны.
2. Изучая imacros обязательно!!! сразу учитесь использовать javascript - только он позволит сделать ваши скрипты динамичными и подходящими к любым условиям.

Чтобы не быть голословным - вот код сохранения аудиорекаптчи на компьютер, оправка на распознавание и ввод ответа. При выпадение вместо звука новой текстовой каптчи рекаптча обновляется пока не выпадет аудиокаптча. При появлении сообщения "Вы должны выполнить несколько заданий" - каптча разгадывается еще раз (максимум 3 раза больше просто смысла нет).
Код:
var zapros=0;
var t1=0;
var n = '\n';
var standartcode = 'SET !EXTRACT_TEST_POPUP NO \n SET !ERRORIGNORE YES \n';

var SaveTo="C:\\www\\"; //Путь для сохранения файла
var FileName='AudioReCaptcha.mp3' //Имя файла
var Forma='file:///C:/www/imacros.html' //Путь к форме imacros
var ip='1.1.1.1'; //ip вашего сервера CapMonster2
var key=''; //ключ (если надо) для вашего сервера CapMonster2

function CloseAllOthers() {
var code =standartcode;
code += 'SET !TIMEOUT_STEP 0'+n;
code += 'ONDIALOG POS=1 BUTTON=OK CONTENT='+n;
code += 'TAB T=1'+n;
code += 'TAB T=0'+n;
code += 'TAB T=-1'+n;
code += 'TAB T=-2'+n;
code += 'TAB T=-3'+n;
code += 'TAB T=-4'+n;
code += 'TAB CLOSEALLOTHERS'+n;
iimPlayCode(code);
}

function PostCapMonster() {
var code = standartcode;  
code+='TAB OPEN'+n;
code+='TAB T=2'+n;
code+='URL GOTO='+Forma+n;
code+='SET !TIMEOUT_STEP 0'+n;
code+= 'WAIT SECONDS=1'+n;
iimPlayCode(code);
var form0 = window.document.forms[0];
form0.action='http://'+ip+'/in.php'
var code = standartcode;  
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT='+key+n;
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:CapMonsterModule CONTENT=ZennoLab.AudioReCaptcha'+n;
code+='TAG POS=1 TYPE=INPUT:FILE ATTR=TYPE:file CONTENT='+SaveTo+FileName+n;
code+='TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*'+n;
code+='TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'+n;
iimPlayCode(code);
var capchaID=iimGetExtract(1);
if (capchaID.indexOf('OK')!==-1){
capchaID=capchaID.substring(3,capchaID.length);
var capchaAnsver=SendPovtor(capchaID);
} else {
iimDisplay(capchaID);
}
return capchaAnsver;
}

function SendPovtor(capchaID){
var wait=10
var code = standartcode;
code+= 'WAIT SECONDS='+wait+n;
code+='URL GOTO=http://'+ip+'/res.php?action=get&id='+capchaID+n;
code+='TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'+n;
iimPlayCode(code);
var capchaAnsver=iimGetExtract(1);
iimDisplay(capchaAnsver);
if (capchaAnsver.indexOf('OK')!==-1){
capchaAnsver=capchaAnsver.substring(3,capchaAnsver.length);
zapros=0;  
return capchaAnsver;
} else if (capchaAnsver.indexOf('CAPCHA_NOT_READY')!==-1) {
iimDisplay(capchaAnsver);
if (zapros<=5) {
zapros=zapros+1;  
capchaAnsver=SendPovtor(capchaID);
} else if (5<zapros) {
zapros=0;  
}  
}
return capchaAnsver;  
}

function SaveCapcha () {
try{
var frame0 = window.document.querySelector('iframe[src^="https://www.google.com/recaptcha/api2/anchor?k="]');
frame0.id = 'rc0';
frame0.name = 'rc0';  
}catch(e){
var grecaptcha = window.document.getElementsByClassName('g-recaptcha')[0];
var frame0 = grecaptcha.childNodes[0].childNodes[0].childNodes[0];
frame0.id = 'rc0';
frame0.name = 'rc0';
}

var code = standartcode;  
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'TAG POS=1 TYPE=SPAN ATTR=CLASS:rc-anchor-error-msg EXTRACT=txt' + n;
iimPlayCode(code);

if (iimGetExtract(1)==null){
var code = standartcode;
code += 'WAIT SECONDS=1' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'WAIT SECONDS=1' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation' + n;
code += 'WAIT SECONDS=3' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM' + n;
iimPlayCode(code);
if (iimGetExtract(1).indexOf('checked="true')==-1){
try {
var frame1 = window.document.getElementsByTagName('div')[window.document.getElementsByTagName('div').length - 1].childNodes[0];
frame1.id = 'rc1';
frame1.name = 'rc1';  
} catch (e){
var frame1 = window.document.querySelector('iframe[src^="https://www.google.com/recaptcha/api2/frame?c="]');
frame1.id = 'rc1';
frame1.name = 'rc1';
}  
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-audio-button" BUTTON=0' + n;
code += 'WAIT SECONDS=2' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-text-instructions EXTRACT=HTM' + n;
iimPlayCode(code);
if (iimGetExtract(1).indexOf('rc-text-instructions')!==-1){
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;  
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
SaveCapcha ();
return  
}
var code = standartcode;
code += 'FRAME NAME="rc1"' + n;  
code += 'ONDOWNLOAD FOLDER='+SaveTo+' FILE='+FileName+' WAIT=YES' + n;
code+= 'TAG POS=1 TYPE=A ATTR=CLASS:rc-audiochallenge-download-link CONTENT=EVENT:SAVETARGETAS'+n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
var otvet=PostCapMonster();
CloseAllOthers();
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;
code += 'TAG POS=1 TYPE=INPUT ATTR=ID:audio-response CONTENT='+otvet+ n;
code += 'WAIT SECONDS=1' + n;
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM' + n;
iimPlayCode(code);
var checkcapcha=iimGetExtract(1);
if (checkcapcha.indexOf('checked="true')==-1){
t1=t1+1;  
if (t1<=2){
iimDisplay('Капча разгадана неправильно');
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;  
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
SaveCapcha ();
return  
} else {t1=0;}
} else {
iimDisplay('Капча разгадана правильно');
}
} else {
iimDisplay('Гугл сразу согласился что я не робот');
}
} else {}
return
}

SaveCapcha ()
Кроме это прикрепляю форму imacros, которой пользуюсь сам.
В коде не забудьте изменить значения переменных
var SaveTo, var FileName, var Forma, var ip,var key на свои.
подскажи пожалуйста какие строки у тебя в скрипте отвечают за обновление пока не пропадет та новая текстовая капча, а то у меня по другому код записан
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 327
Благодарностей
5 430
Баллы
113
  • Спасибо
Реакции: konfuciy

konfuciy

Client
Регистрация
07.05.2014
Сообщения
1 402
Благодарностей
131
Баллы
63

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8
Есть смысл поднять до 5, если используются очень заюзаные прокси.
подтверждаю, иногда 5 попыток как раз то, что надо
На вкус и цвет все фломастеры разные:D.
Можно хоть 10 поставить. Меняйте
Код:
if (t1<=2){
на
Код:
if (t1<=4){
и будет 5 попыток
какие строки отвечают за обновление пока не пропадет та новая текстовая капча
вот этот кусок
Код:
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-audio-button" BUTTON=0' + n;
code += 'WAIT SECONDS=2' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-text-instructions EXTRACT=HTM' + n;
iimPlayCode(code);
if (iimGetExtract(1).indexOf('rc-text-instructions')!==-1){
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n; 
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
SaveCapcha ();
return 
}
Но я здесь поступил просто (и возможно не совсем правильно). При наличии текстовой каптчи, скрипт запускает функцию с самого начала.
 
  • Спасибо
Реакции: konfuciy

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 327
Благодарностей
5 430
Баллы
113
Но я здесь поступил просто (и возможно не совсем правильно). При наличии текстовой каптчи, скрипт запускает функцию с самого начала.
Нужно нажимать Reload, тогда появляется аудио.
Текстовая капча иногда появляется 2 раза подряд, иногда сразу появляется.
 

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8
Нужно нажимать Reload, тогда появляется аудио.
Вообще-то Reload и нажимается, можете скрипт запустить и проверить. Я имел ввиду, что не стал использовать условие типа while т.к. они приводят к периодическому зависанию браузера.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 327
Благодарностей
5 430
Баллы
113
Вообще-то Reload и нажимается, можете скрипт запустить и проверить. Я имел ввиду, что не стал использовать условие типа while т.к. они приводят к периодическому зависанию браузера.
Извиняюсь, не совсем понял значения слова "функция".
 

Shellar

Новичок
Регистрация
25.04.2016
Сообщения
18
Благодарностей
0
Баллы
1
Есть еще одна проблема. Капмонстр не решает аудиокапчу со 100% вероятностью, он делает ошибки. По мере их накопления Recaptcha банит IP, с которого ошибки исходят. Уже через час с вполне работоспособного родного IP Recaptcha уже не принимает ответы - в ответе 24 символа. Бан снимается через какое-то время, но оно слишком продолжительно - 6-18-24 часа. С хорошими покупными проксями та же штука выходит. В общем, ерунда какая-то выходит, ребята. Кто что думает по этому поводу?
 

redman

Client
Регистрация
11.03.2016
Сообщения
554
Благодарностей
178
Баллы
43

Shellar

Новичок
Регистрация
25.04.2016
Сообщения
18
Благодарностей
0
Баллы
1
В последнее время появилось много вопросов так или иначе посвященных связке CapMonster2+Imacros.
Пара советов тем, кто пытается использовать эти 2 продукта:
1. Изучите синтаксис и команды imacros самостоятельно - не имея представления о том, что, где и как работает, при малейшем изменении страницы или каптчи ваши готовые (взятые с форума) скрипты становятся просто бесполезны.
2. Изучая imacros обязательно!!! сразу учитесь использовать javascript - только он позволит сделать ваши скрипты динамичными и подходящими к любым условиям.

Чтобы не быть голословным - вот код сохранения аудиорекаптчи на компьютер, оправка на распознавание и ввод ответа. При выпадение вместо звука новой текстовой каптчи рекаптча обновляется пока не выпадет аудиокаптча. При появлении сообщения "Вы должны выполнить несколько заданий" - каптча разгадывается еще раз (максимум 3 раза больше просто смысла нет).
Код:
var zapros=0;
var t1=0;
var n = '\n';
var standartcode = 'SET !EXTRACT_TEST_POPUP NO \n SET !ERRORIGNORE YES \n';

var SaveTo="C:\\www\\"; //Путь для сохранения файла
var FileName='AudioReCaptcha.mp3' //Имя файла
var Forma='file:///C:/www/imacros.html' //Путь к форме imacros
var ip='1.1.1.1'; //ip вашего сервера CapMonster2
var key=''; //ключ (если надо) для вашего сервера CapMonster2

function CloseAllOthers() {
var code =standartcode;
code += 'SET !TIMEOUT_STEP 0'+n;
code += 'ONDIALOG POS=1 BUTTON=OK CONTENT='+n;
code += 'TAB T=1'+n;
code += 'TAB T=0'+n;
code += 'TAB T=-1'+n;
code += 'TAB T=-2'+n;
code += 'TAB T=-3'+n;
code += 'TAB T=-4'+n;
code += 'TAB CLOSEALLOTHERS'+n;
iimPlayCode(code);
}

function PostCapMonster() {
var code = standartcode;  
code+='TAB OPEN'+n;
code+='TAB T=2'+n;
code+='URL GOTO='+Forma+n;
code+='SET !TIMEOUT_STEP 0'+n;
code+= 'WAIT SECONDS=1'+n;
iimPlayCode(code);
var form0 = window.document.forms[0];
form0.action='http://'+ip+'/in.php'
var code = standartcode;  
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT='+key+n;
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:CapMonsterModule CONTENT=ZennoLab.AudioReCaptcha'+n;
code+='TAG POS=1 TYPE=INPUT:FILE ATTR=TYPE:file CONTENT='+SaveTo+FileName+n;
code+='TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*'+n;
code+='TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'+n;
iimPlayCode(code);
var capchaID=iimGetExtract(1);
if (capchaID.indexOf('OK')!==-1){
capchaID=capchaID.substring(3,capchaID.length);
var capchaAnsver=SendPovtor(capchaID);
} else {
iimDisplay(capchaID);
}
return capchaAnsver;
}

function SendPovtor(capchaID){
var wait=10
var code = standartcode;
code+= 'WAIT SECONDS='+wait+n;
code+='URL GOTO=http://'+ip+'/res.php?action=get&id='+capchaID+n;
code+='TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'+n;
iimPlayCode(code);
var capchaAnsver=iimGetExtract(1);
iimDisplay(capchaAnsver);
if (capchaAnsver.indexOf('OK')!==-1){
capchaAnsver=capchaAnsver.substring(3,capchaAnsver.length);
zapros=0;  
return capchaAnsver;
} else if (capchaAnsver.indexOf('CAPCHA_NOT_READY')!==-1) {
iimDisplay(capchaAnsver);
if (zapros<=5) {
zapros=zapros+1;  
capchaAnsver=SendPovtor(capchaID);
} else if (5<zapros) {
zapros=0;  
}  
}
return capchaAnsver;  
}

function SaveCapcha () {
try{
var frame0 = window.document.querySelector('iframe[src^="https://www.google.com/recaptcha/api2/anchor?k="]');
frame0.id = 'rc0';
frame0.name = 'rc0';  
}catch(e){
var grecaptcha = window.document.getElementsByClassName('g-recaptcha')[0];
var frame0 = grecaptcha.childNodes[0].childNodes[0].childNodes[0];
frame0.id = 'rc0';
frame0.name = 'rc0';
}

var code = standartcode;  
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'TAG POS=1 TYPE=SPAN ATTR=CLASS:rc-anchor-error-msg EXTRACT=txt' + n;
iimPlayCode(code);

if (iimGetExtract(1)==null){
var code = standartcode;
code += 'WAIT SECONDS=1' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'WAIT SECONDS=1' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation' + n;
code += 'WAIT SECONDS=3' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM' + n;
iimPlayCode(code);
if (iimGetExtract(1).indexOf('checked="true')==-1){
try {
var frame1 = window.document.getElementsByTagName('div')[window.document.getElementsByTagName('div').length - 1].childNodes[0];
frame1.id = 'rc1';
frame1.name = 'rc1';  
} catch (e){
var frame1 = window.document.querySelector('iframe[src^="https://www.google.com/recaptcha/api2/frame?c="]');
frame1.id = 'rc1';
frame1.name = 'rc1';
}  
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-audio-button" BUTTON=0' + n;
code += 'WAIT SECONDS=2' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-text-instructions EXTRACT=HTM' + n;
iimPlayCode(code);
if (iimGetExtract(1).indexOf('rc-text-instructions')!==-1){
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;  
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
SaveCapcha ();
return  
}
var code = standartcode;
code += 'FRAME NAME="rc1"' + n;  
code += 'ONDOWNLOAD FOLDER='+SaveTo+' FILE='+FileName+' WAIT=YES' + n;
code+= 'TAG POS=1 TYPE=A ATTR=CLASS:rc-audiochallenge-download-link CONTENT=EVENT:SAVETARGETAS'+n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
var otvet=PostCapMonster();
CloseAllOthers();
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;
code += 'TAG POS=1 TYPE=INPUT ATTR=ID:audio-response CONTENT='+otvet+ n;
code += 'WAIT SECONDS=1' + n;
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM' + n;
iimPlayCode(code);
var checkcapcha=iimGetExtract(1);
if (checkcapcha.indexOf('checked="true')==-1){
t1=t1+1;  
if (t1<=2){
iimDisplay('Капча разгадана неправильно');
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;  
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0' + n;
code += 'WAIT SECONDS=3' + n;
iimPlayCode(code);
SaveCapcha ();
return  
} else {t1=0;}
} else {
iimDisplay('Капча разгадана правильно');
}
} else {
iimDisplay('Гугл сразу согласился что я не робот');
}
} else {}
return
}

SaveCapcha ()
Кроме это прикрепляю форму imacros, которой пользуюсь сам.
В коде не забудьте изменить значения переменных
var SaveTo, var FileName, var Forma, var ip,var key на свои.

Здравствуйте! Вы не могли бы мне, недавно с гор спустившемуся, объяснить всего две вот эти строчки:
Код:
//вот эту:
var frame0 = window.document.querySelector('iframe[src^="https://www.google.com/recaptcha/api2/anchor?k="]');
//и вот эту
var grecaptcha = window.document.getElementsByClassName('g-recaptcha')[0];
Функция их мне понятна, определение фрейма галочки для черной капчи и для белой, но откуда вы взяли название 'g-recaptcha'... и первую строку вообще не понял. Что это за запрос "querySelector"?
 

Shellar

Новичок
Регистрация
25.04.2016
Сообщения
18
Благодарностей
0
Баллы
1
Вообще-то Reload и нажимается, можете скрипт запустить и проверить. Я имел ввиду, что не стал использовать условие типа while т.к. они приводят к периодическому зависанию браузера.
А в какой момент зависает браузер? Когда цикл используется или независимо от места воспроизведения скрипта? У меня тоже иногда зависает, но не в цикле while.
 

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8
У меня как раз в цикле while, всё ок
Тут все зависит (насколько я понял) от загруженности операционной системы в целом и скорости прокси. Если с чем-то есть проблема то браузер может уйти в бесконечный цикл, и поэтому для людей мало знающих javascript и использующих готовый код не совсем целесообразно.
откуда вы взяли название 'g-recaptcha'... и первую строку вообще не понял. Что это за запрос "querySelector"?
Каждая страница на которой есть рекаптча в исходном коде содержит такую запись
Код:
<div class="g-recaptcha" data-callback="onSuccess" data-sitekey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-">
а строка
Код:
var grecaptcha = window.document.getElementsByClassName('g-recaptcha')[0];
как раз этот элемент и ищет. Во-первых мы точно проверяем что рекаптча вообще есть на странице, во-вторых определяем точку от которой уже можно найди другие элементы каптчи
а про querySelector лучше почитать тут
У меня тоже иногда зависает, но не в цикле while.
Причин зависания может быть много, в этом я вам ничем не помогу
 

Shellar

Новичок
Регистрация
25.04.2016
Сообщения
18
Благодарностей
0
Баллы
1
Спасибо!
Каждая страница на которой есть рекаптча в исходном коде содержит такую запись
Код:
<div class="g-recaptcha" data-callback="onSuccess" data-sitekey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-">
а строка
Код:
var grecaptcha = window.document.getElementsByClassName('g-recaptcha')[0];
Не вижу 'g-recaptcha'. Может я не там где-то смотрю? Гляньте картинку если не сложно. Для меня это важно.
а про querySelector лучше почитать тут
А можете рассказать своими словами? Я читал эту статью, но не все понял.
 

Вложения

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8
Не вижу 'g-recaptcha'.
Вы ищите элемент в фрейме каптчи, его там и нет. Он находится на странице
2016-05-11_224203.jpg
querySelector - метод поиска (как по мне очень универсальный). позволяет находить на странице элементы, которые имеют (или не имеют) нужные аттрибуты
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Вы ищите элемент в фрейме каптчи, его там и нет. Он находится на странице
Посмотреть вложение 13241
querySelector - метод поиска (как по мне очень универсальный). позволяет находить на странице элементы, которые имеют (или не имеют) нужные аттрибуты
Способ не актуален,проще копировать фрейм чем его искать и вставлять свои параметры.
 

tatarin

Client
Регистрация
28.10.2012
Сообщения
795
Благодарностей
131
Баллы
43
Есть еще одна проблема. Капмонстр не решает аудиокапчу со 100% вероятностью, он делает ошибки. По мере их накопления Recaptcha банит IP, с которого ошибки исходят. Уже через час с вполне работоспособного родного IP Recaptcha уже не принимает ответы - в ответе 24 символа. Бан снимается через какое-то время, но оно слишком продолжительно - 6-18-24 часа. С хорошими покупными проксями та же штука выходит. В общем, ерунда какая-то выходит, ребята. Кто что думает по этому поводу?
Согласен с тобой! У саппорта один ответ, херовые прокси! А прокси становяться херовыми с неправильного разгадывания!
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Согласен с тобой! У саппорта один ответ, херовые прокси! А прокси становяться херовыми с неправильного разгадывания!
Проводил тест из 40 капч не верно разгаданы 7 капч,каждую капчу прослушивал.Тест проводил на своем динимическом ip ответ из 5 цифр,фразы четкие но вот капмонстр 100% их не разгадывает.
Причиной для такого теста стала слишком частые неправильные разгадки на родном ip когда ранее гадало все с первого раза и ставилась на капче галочка.
Так же регулярно проскакивают ошибки о неверном ключе сервиса и то что несколько работников не смогли разгадать капчу=DВ общем заявленные 100% это сильно завышенно так как по факту выходит примерно 70%,а солве вообще не более 30% разгадывает.Поправить надо чтоб не вводить в заблуждение пользователей и покупателей.
 

Shellar

Новичок
Регистрация
25.04.2016
Сообщения
18
Благодарностей
0
Баллы
1
Вы ищите элемент в фрейме каптчи, его там и нет. Он находится на странице
Посмотреть вложение 13241
querySelector - метод поиска (как по мне очень универсальный). позволяет находить на странице элементы, которые имеют (или не имеют) нужные аттрибуты
Спасибо большое, очень помогло. Нашел.

Способ не актуален,проще копировать фрейм чем его искать и вставлять свои параметры.
А как его можно скопировать не подскажете?

Так же регулярно проскакивают ошибки о неверном ключе сервиса и то что несколько работников не смогли разгадать капчу=DВ общем заявленные 100% это сильно завышенно так как по факту выходит примерно 70%,а солве вообще не более 30% разгадывает.
Что за сообщение о неврном ключе сервиса? Какие могут быть работники, если Капмонстр решает капчу автоматом?
 

Kolia

Новичок
Регистрация
15.05.2016
Сообщения
1
Благодарностей
0
Баллы
1
Супер код ))))
а для солве капчи есть подобный скрипт
 

borisenko1

Client
Регистрация
19.02.2016
Сообщения
17
Благодарностей
0
Баллы
1
Подскажите,как с помощью Imacros кодировать скачанный аудио фаил капчи в base64?
 

Drom

Client
Регистрация
19.05.2016
Сообщения
54
Благодарностей
18
Баллы
8

borisenko1

Client
Регистрация
19.02.2016
Сообщения
17
Благодарностей
0
Баллы
1
Капмонстр разгадывает не кодированный mp3 фаил только через веб форму http://antigate.com/imacros.html,но с прокси не хочет.Подскажите,может есть способ отправлять в эту форму с прокси?
 

Drom

Client
Регистрация
19.05.2016
Сообщения
54
Благодарностей
18
Баллы
8
Капмонстр разгадывает не кодированный mp3 фаил только через веб форму http://antigate.com/imacros.html,но с прокси не хочет.Подскажите,может есть способ отправлять в эту форму с прокси?
Не только через эту веб форму, а, например, и через веб форму из первого сообщения этой темы (и свою можете сделать). Сложите себе файл формы куда угодно, вставляйте туда скриптом свои данные и отправляйте. Скрипт при этом может работать через любой прокси. У меня по крайней мере так работает. Или я не совсем понял Вашу проблему.
 

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8
Капмонстр разгадывает не кодированный mp3 фаил только через веб форму http://antigate.com/imacros.html,но с прокси не хочет.
А зачем на капмонстр оправлять каптчу через прокси? добавьте ip капмонстра в исключения и отправляйте на него без использования проски
 

borisenko1

Client
Регистрация
19.02.2016
Сообщения
17
Благодарностей
0
Баллы
1
Да Вы правы,все заработало(я совершал ранее ошибку в форме).Вот только еще одну задачку не получается решить:от одного роутера подключено 2 компьютера,на 1м стоит Капмонстер-все работает,а вот со 2го не пойму как отправить в программу капчу
 

Shellar

Новичок
Регистрация
25.04.2016
Сообщения
18
Благодарностей
0
Баллы
1
Да Вы правы,все заработало(я совершал ранее ошибку в форме).Вот только еще одну задачку не получается решить:от одного роутера подключено 2 компьютера,на 1м стоит Капмонстер-все работает,а вот со 2го не пойму как отправить в программу капчу
Попробуйте в Капмонстре поставить IP, под которым вы сидите. Не локальный, например 127.0.0.1, а что-то вроде 189.124.31.12

А мне интересно несколько другое. Можно ли как-то решить капчу, приложенную ниже?
 

Вложения

borisenko1

Client
Регистрация
19.02.2016
Сообщения
17
Благодарностей
0
Баллы
1
При попытке прописать свой родной ip выдает ошибку и не запускает программу...
 

Shellar

Новичок
Регистрация
25.04.2016
Сообщения
18
Благодарностей
0
Баллы
1
Админы скажут: "Ошибку в студию!"
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)