>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >iMacros http://forum.mozilla-russia.org/viewforum.php?id=42 >[РЕШЕНО] Случайным образом вбивает данные в поля http://forum.mozilla-russia.org/viewtopic.php?id=66437 |
Feraset > 17-01-2015 19:26:20 |
Здравствуйте. У меня проблемы с регистрацией на сайте с движком XenForo Вот собственно код макроса: Выделить код Код:VERSION BUILD=8881205 RECORDER=FX SET !ERRORIGNORE YES SET !TIMEOUT 1 TAB T=1 URL GOTO=http://forum.gold-raid.ru/index.php TAG POS=1 TYPE=A ATTR=TXT:Войти<SP>или<SP>зарегистрироваться TAG POS=1 TYPE=INPUT:RADIO FORM=ID:login ATTR=ID:ctrl_not_registered TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login ATTR=* TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:register/register ATTR=ID:ctrl_agree CONTENT=YES TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:index.php?register/register ATTR=ID:ctrl_agree CONTENT=YES TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:register/register ATTR=NAME:dob_year CONTENT=1992 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?register/register ATTR=NAME:dob_year CONTENT=1992 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:register/register ATTR=NAME:dob_day CONTENT=10 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?register/register ATTR=NAME:dob_day CONTENT=10 TAG POS=1 TYPE=SELECT FORM=ACTION:register/register ATTR=NAME:dob_month CONTENT=%8 TAG POS=1 TYPE=SELECT FORM=ACTION:index.php?register/register ATTR=NAME:dob_month CONTENT=%8 TAG POS=1 TYPE=INPUT:RADIO FORM=ACTION:register/register ATTR=NAME:* TAG POS=1 TYPE=INPUT:RADIO FORM=ACTION:index.php?register/register ATTR=NAME:* TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:register/register ATTR=ID:* CONTENT=230HaNAwYjIqOZA TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:index.php?register/register ATTR=ID:* CONTENT=230HaNAwYjIqOZA TAG POS=2 TYPE=INPUT:PASSWORD FORM=ACTION:register/register ATTR=ID:* CONTENT=230HaNAwYjIqOZA TAG POS=2 TYPE=INPUT:PASSWORD FORM=ACTION:index.php?register/register ATTR=ID:* CONTENT=230HaNAwYjIqOZA TAG POS=2 TYPE=INPUT:text FORM=ACTION:register/register ATTR=ID:* CONTENT=vitaliyyukhn TAG POS=2 TYPE=INPUT:text FORM=ACTION:index.php?register/register ATTR=ID:* CONTENT=vitaliyyukhn TAG POS=1 TYPE=INPUT:text FORM=ACTION:index.php?register/register ATTR=ID:* CONTENT=vitaliyyukhn TAG POS=1 TYPE=INPUT:email FORM=ACTION:register/register ATTR=ID:* CONTENT=vitaliy.yukhnov@inbox.ru TAG POS=1 TYPE=INPUT:email FORM=ACTION:index.php?register/register ATTR=ID:* CONTENT=vitaliy.yukhnov@inbox.ru WAIT SECONDS=16 TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:register/register ATTR=ID:SubmitButton TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:index.php?register/register ATTR=ID:SubmitButton большие куски кода прячем в spoiler: скрытый текст InfSub |
InfSub > 18-01-2015 02:42:23 |
указанный в скрипте сайт, в данный момент в дауне:
|
Feraset > 18-01-2015 04:18:21 |
Только что пробежался - сайт работает - всё путём. Тем не менее всё таже проблема - движок ксенфоро(Ksenforo) |
InfSub > 18-01-2015 07:40:28 |
Feraset, попробуй так: скрытый текст Выделить код Код:VERSION BUILD=8881205 RECORDER=FX SET U_NAME vitaliyyukhn SET U_MAIL vitaliy.yukhnov@inbox.ru SET U_PASS 230HaNAwYjIqOZA SET !ERRORIGNORE YES SET !EXTRACT_TEST_POPUP NO SET !TIMEOUT 5 TAB T=1 URL GOTO=http://forum.gold-raid.ru/index.php TAG POS=1 TYPE=A ATTR=TXT:Войти<SP>или<SP>зарегистрироваться TAG POS=1 TYPE=INPUT:RADIO FORM=ID:login ATTR=ID:ctrl_not_registered TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login ATTR=* SET !TIMEOUT_STEP 1 TAG POS=1 TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}} TAG POS=2 TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}} TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}} TAG POS=2 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}} TAG POS=3 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}} TAG POS=1 TYPE=INPUT:RADIO FORM=ACTION:*register* ATTR=VALUE:male TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_day CONTENT=10 TAG POS=1 TYPE=SELECT FORM=ACTION:*register* ATTR=NAME:dob_month CONTENT=%8 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_year CONTENT=1992 TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:*register* ATTR=ID:ctrl_agree CONTENT=YES EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV>FORM>DL:nth-of-type(2)>DD>INPUT" CHARS="{{U_NAME}}" TAG POS=1 TYPE=SPAN ATTR=ID:RegTimer EXTRACT=TXT WAIT SECONDS=EVAL("Number('{{!EXTRACT}}'.replace(/(.*?)(\d+)(.*)/g,'$2'));") TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:*register* ATTR=ID:SubmitButton |
Feraset > 19-01-2015 23:53:29 |
InfSub, Спасибо вам огромное - всё работает! Если не сложно объяните пожалуйста зачем вы 2 раза вбили email по pos=2 и pos=1 и/ Выделить код Код:EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV>FORM>DL:nth-of-type(2)>DD>INPUT" CHARS="{{U_NAME}}" P.S: Также огромное спасибо установку переменных логин/емайл/пароль - доже странно что мне это на протяжении всей работы в голову не пришло - снимаю шляпу |
InfSub > 20-01-2015 00:03:53 |
Feraset пишет
там еще и подтверждение пароля продублировано (pos=3) Feraset пишет
это не поиск, а ввод строки текста с эмуляцией человеческого ввода, если можно так выразиться, с учетом того, что сайт постоянно ругался на слишком быстрый ввод данных и выкидывал с формы (проверка шла только по полю с логином), это решение, было оптимальным |
Feraset > 20-01-2015 08:51:28 |
InfSub, с первым разъяснил. Вот только во втором не совсем понятен синтаксис атрибута Keypress Selector. nth-of-type(2) - это что такое? вообще как работает эмуляция эта - то есть код ищет конкретный див в body с неким значением nth-of-type(2)? |
okkamas_knife > 20-01-2015 09:15:19 |
Feraset > 21-01-2015 14:32:52 |
Попробовал сделать всё как надо - заполнил автоматом поля по вашей версии кода, затем В результате поля оказались заполнены верно, но при нажатии на конечный сабмит(ЧТО ОЧЕНЬ СТРАННО) вылезла вот такая хрень: Пожалуйста, исправьте следующие ошибки: Некоторые поля содержат неожиданные данные. Пожалуйста, попробуйте ещё раз или свяжитесь с администратором. - это косяк господа - даже не знаю, что делать с этой формой, она мне весь мозг выела)) |
InfSub > 21-01-2015 14:40:57 |
Feraset, форум в ауте: скрытый текст |
Feraset > 21-01-2015 14:47:20 |
Я пробовал на аналогичном: скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Там всё абсолютно тоже самое. |
InfSub > 21-01-2015 15:41:15 |
Feraset, судя по комментариям - ты знаком с js, делай проверку на наличие полей, т.е. если не равно #EANF# (игнор ошибок должен быть отключен для этой строки) то вставляешь мыло в POS=2 иначе в POS=1 |
Feraset > 21-01-2015 15:59:50 |
Не совсем понял что вы имели ввиду, но насколько я понял суть вопроса - игнор ошибок же был отключён в самом начале Кстати, вот собственно весь код - он все поля забивает - ток там нужно подключится к сервису антигейт чтобы разгадать капчу скрытый текст Выделить код Код:VERSION BUILD=8881205 RECORDER=FX SET U_NAME mushkunbaev SET U_MAIL mushkunbaev@mail.ru SET U_PASS multik12345 SET U_ANTICAPCHA 16542356b2614aaa08e3dcd86c9f9eec SET !ERRORIGNORE YES SET !EXTRACT_TEST_POPUP NO SET !TIMEOUT 5 TAB T=1 URL GOTO=http://forum.hellway.ru/index.php TAG POS=1 TYPE=A ATTR=TXT:Войти<SP>или<SP>зарегистрироваться TAG POS=1 TYPE=INPUT:RADIO FORM=ID:login ATTR=ID:ctrl_not_registered TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login ATTR=* SET !TIMEOUT_STEP 1 TAG POS=1 TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}} TAG POS=2 TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}} TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}} TAG POS=2 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}} TAG POS=3 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}} TAG POS=1 TYPE=INPUT:RADIO FORM=ACTION:*register* ATTR=VALUE:male TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_day CONTENT=10 TAG POS=1 TYPE=SELECT FORM=ACTION:*register* ATTR=NAME:dob_month CONTENT=%8 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_year CONTENT=1992 TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:*register* ATTR=ID:ctrl_agree CONTENT=YES EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV>FORM>DL:nth-of-type(2)>DD>INPUT" CHARS="{{U_NAME}}" 'TAG POS=1 TYPE=SPAN ATTR=ID:RegTimer EXTRACT=TXT WAIT SECONDS=16 'EVAL("Number('{{!EXTRACT}}'.replace(/(.*?)(\d+)(.*)/g,'$2'));") не забываем про спойлер InfSub Убрал запрещённый код. Feraset |
InfSub > 21-01-2015 16:05:43 |
Feraset пишет
эта команда включает игнорирование ошибок скрытый текст Выделить код Код:' ошибки не игнорируются SET !ERRORIGNORE YES 'далее ошибки игнорируются ... SET !ERRORIGNORE NO TAG POS=2 TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr EXTRACT=TXT SET !ERRORIGNORE YES |
Feraset > 21-01-2015 16:11:05 |
Ну не совсем в этом проблема, я так понял - поля то он на странице регистрации забивает, только проблема в том, что когда нажимаешь зарегистрироваться, выскакивает ошибка регистрации: "Пожалуйста, исправьте следующие ошибки: |
InfSub > 21-01-2015 16:16:01 |
Feraset, я же объяснил, делаешь js-скрипт, который выполняет вышеизложенный код кусками: 21-01-2015 16:18:06 Feraset пишет
потому и выскакивает, что у тебя в iim-скрипте забиваются те поля (скрытые), что в итоге должны быть пустыми (доп защита) |
Feraset > 21-01-2015 16:25:11 |
Честно говоря с js знаком слабо - могу только читать код и немного редактировать(азы программирования помогают), но суть вашей идеи я уловил. Получается эта ошибка выскакивает при заполнении как бы "несуществующих полей". Буду кумекать, спасибо |
InfSub > 21-01-2015 16:28:03 |
Feraset пишет
этого должно быть достаточно, для написания кода вида: скрытый текст 21-01-2015 16:30:24 для облегчения написания данного кода, думаю, вам стоит поискать в основной теме по iMacros, примеры проверки на наличие каптчи |
Feraset > 21-01-2015 16:36:21 |
Если скрытый текст r вот только откуда берётся? И ещё насчёт js - вместо вышеописанных строк кода "tag pos" - мне просто нужно запускать этот скрипт? скрытый текст InfSub пишет
|
InfSub > 21-01-2015 16:40:12 |
Feraset, это просто пример, того, как это сделать, повторюсь Feraset пишет
там, в том числе, есть и код получения данных из iim в переменную, в данном случае в r 21-01-2015 16:41:44 21-01-2015 16:50:34 21-01-2015 17:01:26 |
Feraset > 21-01-2015 17:06:47 |
Извините, я вас наверное уже заколебал . Просто я реально не могу понять, что конкретно занести в переменную R? Как я понял это данные которые вытаскивются из кода iim - так какие данные и как вытащить? - так чтоли? |
InfSub > 21-01-2015 17:09:49 |
Feraset пишет
можно и так суть в том, что при отсутствии лишних полей макрос будет возвращать #EANF#, на его наличие и проверяешь, если вернуло #EANF# - при проверке наличия второго (POS=2) поля для почты, то выполняешь скрипт где полем для почты является первое поле, иначе, где 2 21-01-2015 17:16:00 например так Выделить код Код:var pos=''; iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=2 TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr EXTRACT=TXT'); if (iimGetLastExtract(1)=='#EANF#') { pos=1; } else { pos=2; }; iimSet('U_MAIL','vitaliy.yukhnov@inbox.ru'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}}'); |
Feraset > 21-01-2015 17:27:33 |
Спасибо - думаю это должно сработать. Теперь осталось найти как с iim файла запускать js и больше нечего желать) |
InfSub > 21-01-2015 17:30:34 |
Feraset пишет
не понятно вообще зачем из iim запускать js, все можно сделать в js |
Feraset > 21-01-2015 18:14:03 |
Пробую писать полностью на js - столкнулся с трудностью: скрытый текст Выделить код Код:var pos=''; iimPlayCode('TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" EXTRACT=TXT'); if (iimGetLastExtract(1)=='#EANF#') {pos=1;} else { if (iimGetLastExtract(2)=='#EANF#') {pos=2;} else {pos=3;} }; iimSet('U_PASS','multik12345'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); |
InfSub > 21-01-2015 18:32:25 |
Feraset пишет
скрытый текст Выделить код Код:var i=1,e='#EANF#',r,pos,m='SET !TIMEOUT_STEP 1\nTAG POS={POS} TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr EXTRACT=TXT'; do{ iimPlayCode(m.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_MAIL','vitaliy.yukhnov@inbox.ru'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}}'); * исправлена опечатка |
Feraset > 21-01-2015 18:39:04 |
Потрясающе! do while здесь как нельзя кстати) |
InfSub > 21-01-2015 18:44:52 |
Feraset пишет
offtop «фирма веников не вяжет, а если вяжет, то только фирменные» (с) |
Feraset > 21-01-2015 19:07:10 |
Вот InfSub, посмотрите пожалуйста годно ли всё заполнено? скрытый текст Выделить код Код:iimSet('U_NAME','mushkunbaev'); iimSet('U_MAIL','mushkunbaev@mail.ru'); iimSet('U_PASS','multik12345'); iimSet('U_ANTICAPCHA','ключ антикапчи'); iimSet('!ERRORIGNORE','YES'); iimSet('!EXTRACT_TEST_POPUP','NO'); iimSet('!TIMEOUT','5'); iimPlayCode('TAB T=1'); iimPlayCode('URL GOTO=http://forum.hellway.ru/index.php'); iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:Войти<SP>или<SP>зарегистрироваться'); iimPlayCode('TAG POS=1 TYPE=INPUT:RADIO FORM=ID:login ATTR=ID:ctrl_not_registered'); iimPlayCode('TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login ATTR=*'); iimSet('!TIMEOUT_STEP','1'); var i=1,e='#EANF#',r,pos,m='SET !TIMEOUT_STEP 1\nTAG POS={POS} TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr EXTRACT=TXT'; do{ iimPlayCode(m.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_MAIL','vitaliy.yukhnov@inbox.ru'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}}'); var i=1,e='#EANF#',r,pos,m='SET !TIMEOUT_STEP 1\nTAG POS={POS} TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" EXTRACT=TXT'; do{ iimPlayCode(m.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_PASS','multik12345'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); TAG POS=1 TYPE=INPUT:RADIO FORM=ACTION:*register* ATTR=VALUE:male TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_day CONTENT=10 TAG POS=1 TYPE=SELECT FORM=ACTION:*register* ATTR=NAME:dob_month CONTENT=%8 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_year CONTENT=1992 TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:*register* ATTR=ID:ctrl_agree CONTENT=YES iimPlayCode('EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV>FORM>DL:nth-of-type(2)>DD>INPUT" CHARS="{{U_NAME}}"'); iimPlayCode('WAIT SECONDS=16'); *исправлено. Убрал InfSub Есть Кэп |
InfSub > 21-01-2015 19:09:13 |
Feraset, убери ключ-антикапчи с форума |
Feraset > 21-01-2015 19:14:44 |
Убрал код антикапчи вообще - если нужно могу вернуть) Ну так как норм? |
InfSub > 21-01-2015 19:15:00 |
каждый передаваемый в iimPlayCode() - код - равносилен запуску отдельного iim-файла, соответственно код не совсем верен, а где-то вообще не верен переменные начинающиеся с ! не принимают значений через iimSet 21-01-2015 19:22:55 |
Feraset > 21-01-2015 19:34:51 |
Вроде так! скрытый текст Выделить код Код:iimSet('U_NAME','mushkunbaev'); iimSet('U_MAIL','mushkunbaev@mail.ru'); iimSet('U_PASS','multik12345'); iimSet('U_ANTICAPCHA','ключ антигейт'); var a=' \nSET !ERRORIGNORE YES \nSET !EXTRACT_TEST_POPUP NO \nSET !TIMEOUT 5 \nTAB T=1 \nURL GOTO=http://forum.hellway.ru/index.php \nTAG POS=1 TYPE=A ATTR=TXT:Войти<SP>или<SP>зарегистрироваться \nTAG POS=1 TYPE=INPUT:RADIO FORM=ID:login ATTR=ID:ctrl_not_registered \nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login ATTR=* \nSET !TIMEOUT_STEP 1'; var i=1,e='#EANF#',r,pos,m='SET !TIMEOUT_STEP 1\nTAG POS={POS} TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr EXTRACT=TXT'; do{ iimPlayCode(m.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_MAIL','vitaliy.yukhnov@inbox.ru'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}}'); var i=1,e='#EANF#',r,pos,p='SET !TIMEOUT_STEP 1\nTAG POS={POS} TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" EXTRACT=TXT'; do{ iimPlayCode(m.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_PASS','multik12345'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); var d='\nTAG POS=1 TYPE=INPUT:RADIO FORM=ACTION:*register* ATTR=VALUE:male \nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_day CONTENT=10 \nTAG POS=1 TYPE=SELECT FORM=ACTION:*register* ATTR=NAME:dob_month CONTENT=%8 \nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_year CONTENT=1992 \nTAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:*register* ATTR=ID:ctrl_agree CONTENT=YES \nEVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV>FORM>DL:nth-of-type(2)>DD>INPUT" CHARS="{{U_NAME}}" \nWAIT SECONDS=16 \nONDOWNLOAD FOLDER=C:\CAPTCH FILE=captcha.png WAIT=YES \nWAIT SECONDS=1 \nTAG POS=1 TYPE=IMG ATTR=SRC:"http://www.google.com/recaptcha/api/image?c=*" CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT \nTAB OPEN \nTAB T=2 \nURL GOTO=http://antigate.com/imacros.html \nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://antigate.com/in.php ATTR=NAME:key CONTENT={{U_ANTICAPCHA}} \nFRAME F=0 \nTAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://antigate.com/in.php ATTR=NAME:file CONTENT=C:\CAPTCH\captcha.png \nWAIT SECONDS=1 \nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://antigate.com/in.php ATTR=VALUE:recognize \nWAIT SECONDS=30 \nTAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT \nSET !VAR3 {{!EXTRACT}} \nWAIT SECONDS=1 \nTAB T=1 \nFRAME F=0 \nWAIT SECONDS=5 \nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?register/register ATTR=ID:recaptcha_response_field CONTENT={{!VAR3}} \nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:*register* ATTR=ID:SubmitButton'; Ответил сверху Исправил таймаут. Feraset |
InfSub > 21-01-2015 19:44:08 |
не все исправил - таймаут забыл |
Feraset > 21-01-2015 19:47:05 |
Ок. По результатам отпишусь в этом сообщении. скрытый текст Выделить код Код:iimSet('U_NAME','mushkunbaev'); iimSet('U_MAIL','mushkunbaev@mail.ru'); iimSet('U_PASS','multik12345'); iimSet('U_ANTICAPCHA','блабла'); var a=' \nSET !ERRORIGNORE YES \nSET !EXTRACT_TEST_POPUP NO \nSET !TIMEOUT 5 \nTAB T=1 \nURL GOTO=http://forum.hellway.ru/index.php \nTAG POS=1 TYPE=A ATTR=TXT:Войти<SP>или<SP>зарегистрироваться \nTAG POS=1 TYPE=INPUT:RADIO FORM=ID:login ATTR=ID:ctrl_not_registered \nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login ATTR=* \nSET !TIMEOUT_STEP 1'; var i=1,e='#EANF#',r,pos,m='SET !TIMEOUT_STEP 1\nTAG POS={POS} TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr EXTRACT=TXT'; do{ iimPlayCode(m.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_MAIL','vitaliy.yukhnov@inbox.ru'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}}'); var i=1,e='#EANF#',r,pos,p='SET !TIMEOUT_STEP 1\nTAG POS={POS} TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" EXTRACT=TXT'; do{ iimPlayCode(m.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_PASS','multik12345'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); var d='\nTAG POS=1 TYPE=INPUT:RADIO FORM=ACTION:*register* ATTR=VALUE:male \nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_day CONTENT=10 \nTAG POS=1 TYPE=SELECT FORM=ACTION:*register* ATTR=NAME:dob_month CONTENT=%8 \nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_year CONTENT=1992 \nTAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:*register* ATTR=ID:ctrl_agree CONTENT=YES \nEVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV>FORM>DL:nth-of-type(2)>DD>INPUT" CHARS="{{U_NAME}}" \nWAIT SECONDS=16 \nONDOWNLOAD FOLDER=C:\CAPTCH FILE=captcha.png WAIT=YES \nWAIT SECONDS=1 \nTAG POS=1 TYPE=IMG ATTR=SRC:"http://www.google.com/recaptcha/api/image?c=*" CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT \nTAB OPEN \nTAB T=2 \nURL GOTO=http://antigate.com/imacros.html \nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://antigate.com/in.php ATTR=NAME:key CONTENT={{U_ANTICAPCHA}} \nFRAME F=0 \nTAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://antigate.com/in.php ATTR=NAME:file CONTENT=C:\CAPTCH\captcha.png \nWAIT SECONDS=1 \nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://antigate.com/in.php ATTR=VALUE:recognize \nWAIT SECONDS=30 \nTAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT \nSET !VAR3 {{!EXTRACT}} \nWAIT SECONDS=1 \nTAB T=1 \nFRAME F=0 \nWAIT SECONDS=5 \nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?register/register ATTR=ID:recaptcha_response_field CONTENT={{!VAR3}} \nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:*register* ATTR=ID:SubmitButton'; |
InfSub > 21-01-2015 19:58:29 |
скорее код внутри переменной в одну строку надо записать offtop не за компом, с телефона, проблематично код весь просмотреть, буду позже |
Feraset > 21-01-2015 20:06:50 |
Хорошо - буду пробовать. Теперь другая проблема: |
InfSub > 21-01-2015 23:45:26 |
скорее, как-то так: скрытый текст Выделить код Код:var m1,m2,m3,m4,i=1,e='#EANF#',r,pos,user=[]; user['name']='mushkunbaev'; user['mail']='mushkunbaev@mail.ru'; user['pass']='multik12345'; user['capc']='блабла'; m1='SET !TIMEOUT_STEP 1'+'\n'+'TAG POS={POS} TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr EXTRACT=TXT'; m2='SET !TIMEOUT_STEP 1'+'\n'+'TAG POS={POS} TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" EXTRACT=TXT'; m3='SET !ERRORIGNORE YES' +'\n'+'SET !EXTRACT_TEST_POPUP NO' +'\n'+'SET !TIMEOUT 5' +'\n'+'TAB T=1' +'\n'+'URL GOTO=http://forum.hellway.ru/index.php' +'\n'+'TAG POS=1 TYPE=A ATTR=TXT:Войти<SP>или<SP>зарегистрироваться' +'\n'+'TAG POS=1 TYPE=INPUT:RADIO FORM=ID:login ATTR=ID:ctrl_not_registered' +'\n'+'TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login ATTR=*' +'\n'+'SET !TIMEOUT_STEP 1'; m4='TAG POS=1 TYPE=INPUT:RADIO FORM=ACTION:*register* ATTR=VALUE:male' +'\n'+'TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_day CONTENT=10' +'\n'+'TAG POS=1 TYPE=SELECT FORM=ACTION:*register* ATTR=NAME:dob_month CONTENT=%8' +'\n'+'TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:*register* ATTR=NAME:dob_year CONTENT=1992' +'\n'+'SET !TIMEOUT_STEP 1' +'\n'+'SET !ERRORIGNORE YES' +'\n'+'TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:*register* ATTR=ID:ctrl_agree CONTENT=YES' +'\n'+'EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV>FORM>DL:nth-of-type(2)>DD>INPUT" CHARS="{{U_NAME}}"' +'\n'+'WAIT SECONDS=16' +'\n'+'ONDOWNLOAD FOLDER=C:\\CAPTCH FILE=captcha.png WAIT=YES' +'\n'+'WAIT SECONDS=1' +'\n'+'TAG POS=1 TYPE=IMG ATTR=SRC:"http://www.google.com/recaptcha/api/image?c=*" CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT' +'\n'+'TAB OPEN' +'\n'+'TAB T=2' +'\n'+'URL GOTO=http://antigate.com/imacros.html' +'\n'+'TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://antigate.com/in.php ATTR=NAME:key CONTENT={{U_ANTICAPCHA}}' +'\n'+'FRAME F=0' +'\n'+'TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://antigate.com/in.php ATTR=NAME:file CONTENT=C:\\CAPTCH\\captcha.png' +'\n'+'WAIT SECONDS=1' +'\n'+'TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://antigate.com/in.php ATTR=VALUE:recognize' +'\n'+'WAIT SECONDS=30' +'\n'+'TAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT' +'\n'+'SET !VAR3 {{!EXTRACT}}' +'\n'+'WAIT SECONDS=1' +'\n'+'TAB T=1' +'\n'+'FRAME F=0' +'\n'+'WAIT SECONDS=5' +'\n'+'TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php?register/register ATTR=ID:recaptcha_response_field CONTENT={{!VAR3}}' +'\n'+'TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:*register* ATTR=ID:SubmitButton'; iimPlayCode(m3); do{ iimPlayCode(m1.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_MAIL','vitaliy.yukhnov@inbox.ru'); iimPlayCode('TAG POS='+pos+' TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr CONTENT={{U_MAIL}}'); i=1; do{ iimPlayCode(m2.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_PASS',user['pass']); iimPlayCode('TAG POS='+(pos-1)+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'+'\n'+'TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); iimSet('U_NAME',user['name']); iimSet('U_PASS',user['pass']); iimSet('U_ANTICAPCHA',user['capc']); iimPlayCode(m4); |
Feraset > 22-01-2015 00:11:42 |
Не сохраняет и не открывает капчу теперь на сервисе антигейта - всё дело в том что путь прописывает без слешей (\) P.S Проблему загрузки капчи решил следующим путём - поменял слэши на обратные (\) на (/) - то есть обратился непосредственно с браузера. скрытый текст Выделить код Код:+'\n'+'TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://antigate.com/in.php ATTR=NAME:file CONTENT=file:///C:/CAPTCH/captcha.png' Изменить нужно это: скрытый текст Пробую экранировать. |
InfSub > 22-01-2015 00:13:20 |
Feraset 22-01-2015 00:23:02 Feraset пишет
выше уже исправленный код 22-01-2015 00:27:30 Feraset пишет
это лишняя часть |
Feraset > 22-01-2015 00:30:47 |
YES! Он наконец то зарегился!!!! File может быть и не нужен - но у меня с ним заработало) Спасибо - буду знать |
InfSub > 22-01-2015 00:33:29 |
Feraset пишет
попробуй поменять Выделить код Код:iimPlayCode('TAG POS='+(pos-1)+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'+'\n'+'TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); на Выделить код Код:iimPlayCode('TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'+'\n'+'TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); |
Feraset > 22-01-2015 00:36:55 |
Хорошо - сейчас Выделить код Код:iimPlayCode('TAG POS='+(pos-1)+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'+'\n'+'TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); iimPlayCode('TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'+'\n'+'TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); А хотя нет - впрочем там всё путём - сейчас попробую по вашему. Сделал так: скрытый текст Выделить код Код:i=1; do{ iimPlayCode(m2.replace('{POS}',i)); r=iimGetLastExtract(1); if (r==e){ pos=i-1; }; i++; }while(r!=e); iimSet('U_PASS',user['pass']); iimPlayCode('iimPlayCode('TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'+'\n'+'TAG POS='+pos+' TYPE=INPUT:PASSWORD FORM=ACTION:*register* ATTR=CLASS:"textCtrl OptOut" CONTENT={{U_PASS}}'); iimSet('U_NAME',user['name']); iimSet('U_PASS',user['pass']); iimSet('U_ANTICAPCHA',user['capc']); iimPlayCode(m4); Вылезло это: "SyntaxError: missing ) after argument list, line 73 (Error code: -991)" |
InfSub > 22-01-2015 00:50:21 |
Feraset пишет
это 2 кода, 22-01-2015 00:51:47 InfSub пишет
лишнее удали Feraset пишет
|
Feraset > 22-01-2015 00:53:41 |
Ну ок - главное что работает - а там уже прорвёмся - осталось запилить создание темы(я уже поковырял - там с отключением js в мозилле можно поле вытащить) и привязку к делфи софту и на том моя работа будет закончена - аминь!) |
InfSub > 22-01-2015 01:01:45 |
Feraset > 22-01-2015 15:09:56 |
Снова привет: как быть? Вот как пробовал скрытый текст Выделить код Код:m='SET !ERRORIGNORE YES' +'\n'+'SET !EXTRACT_TEST_POPUP NO' +'\n'+'SET !TIMEOUT 5' +'\n'+'TAB OPEN' +'\n'+'TAB T=2' +'\n'+'URL GOTO=https://temp-mail.ru/' +'\n'+'TAG POS=1 TYPE=B ATTR=ID:email EXTRACT=TXT' +'\n'+'SET !VARS {{!EXTRACT}}' +'\n'+'TAB T=1' +'\n'+'WAIT SECONDS=5'; Обращался к extract - почему то не прокатывает Пробовал обратиться к !VARS - тоже не катит - если напрямую забивать в поле страницы регистрации через переменную m, то тогда теряю проверку поля на пустоту, т.к. переменная +pos+ - undefined... Не знаю как быть подскажите пожалуйста - спасибо. Сёдня уже пол дня из за компа не выхожу( |
InfSub > 22-01-2015 15:14:37 |
Feraset пишет
не совсем понял, но получение данных происходит через переменную {{!EXTRACT}}, для этого есть js-функция iimGetLastExtract(); |
Feraset > 22-01-2015 15:17:38 |
То есть можно сделать так? |
InfSub > 22-01-2015 15:20:59 |
нет, откуда {{!EXTRACT}} в iimGetLastExtract() посмотри выше код, разве там есть подобное? скрытый текст Выделить код Код:var m='SET !ERRORIGNORE YES' +'\n'+'SET !EXTRACT_TEST_POPUP NO' +'\n'+'SET !TIMEOUT 5' +'\n'+'TAB OPEN' +'\n'+'TAB T=2' +'\n'+'URL GOTO=https://temp-mail.ru/' +'\n'+'TAG POS=1 TYPE=B ATTR=ID:email EXTRACT=TXT' +'\n'+'TAB CLOSE' +'\n'+'TAB T=1' +'\n'+'WAIT SECONDS=5'; iimPlayCode(m); user['mail']=iimGetLastExtract(); 22-01-2015 15:23:37 InfSub пишет
выражусь иначе, данные пришедшие в скрипте в {{!EXTRACT}} в js передаются через iimGetLastExtract(); |
Feraset > 22-01-2015 15:23:51 |
А, ок - сейчас попробую. |