Здравствуйте. У меня проблемы с регистрацией на сайте с движком 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
InfSub
Отредактировано Feraset (17-01-2015 20:28:42)
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
указанный в скрипте сайт, в данный момент в дауне:
502 Bad Gateway
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Только что пробежался - сайт работает - всё путём. Тем не менее всё таже проблема - движок ксенфоро(Ksenforo)
Версия imacros 8.8.8
Последнее обновление firefox, а также тестинг на firefox portable(с js и без) был проведен
ОСь - седьмая.
Отредактировано Feraset (18-01-2015 04:23:01)
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
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
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
InfSub, Спасибо вам огромное - всё работает!
Если не сложно объяните пожалуйста зачем вы 2 раза вбили email по pos=2 и pos=1 и/
как работает этот код с поиском по html:
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: Также огромное спасибо установку переменных логин/емайл/пароль - доже странно что мне это на протяжении всей работы в голову не пришло - снимаю шляпу
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
зачем вы 2 раза вбили email
там еще и подтверждение пароля продублировано (pos=3)
скорее всего, на сайте присутствует, какая-то доп. защита, мне лень было сравнивать html-код страниц, на которых работал имакрос, с теми где не работал, но при записи скрипта на последних - позиция менялась
тесты показали, что игнорируются в основном поля - почта и подтверждение пароля, они и были добавлены, с учетом того, что включен игнор ошибок, данный код будет нормально отрабатывать
как работает этот код с поиском по html:
Выделить кодКод:
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}}"
это не поиск, а ввод строки текста с эмуляцией человеческого ввода, если можно так выразиться, с учетом того, что сайт постоянно ругался на слишком быстрый ввод данных и выкидывал с формы (проверка шла только по полю с логином), это решение, было оптимальным
Отредактировано InfSub (20-01-2015 00:06:44)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
InfSub, с первым разъяснил. Вот только во втором не совсем понятен синтаксис атрибута Keypress Selector. nth-of-type(2) - это что такое? вообще как работает эмуляция эта - то есть код ищет конкретный див в body с неким значением nth-of-type(2)?
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3
Отсутствует
Попробовал сделать всё как надо - заполнил автоматом поля по вашей версии кода, затем
В результате поля оказались заполнены верно, но при нажатии на конечный сабмит(ЧТО ОЧЕНЬ СТРАННО) вылезла вот такая хрень:
Пожалуйста, исправьте следующие ошибки:
Некоторые поля содержат неожиданные данные. Пожалуйста, попробуйте ещё раз или свяжитесь с администратором.
- это косяк господа - даже не знаю, что делать с этой формой, она мне весь мозг выела))
Отредактировано Feraset (21-01-2015 14:34:07)
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
Feraset, форум в ауте:
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Я пробовал на аналогичном:
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
Feraset, судя по комментариям - ты знаком с js, делай проверку на наличие полей, т.е. если
не равно #EANF# (игнор ошибок должен быть отключен для этой строки) то вставляешь мыло в POS=2 иначе в POS=1
с паролем - так же, если POS=3 не равно #EANF# то POS=3 иначе POS=2
Отредактировано InfSub (21-01-2015 15:42:37)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Не совсем понял что вы имели ввиду, но насколько я понял суть вопроса - игнор ошибок же был отключён в самом начале
- вот: SET !ERRORIGNORE YES
Кстати, вот собственно весь код - он все поля забивает - ток там нужно подключится к сервису антигейт чтобы разгадать капчу
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'));")
Отредактировано Feraset (21-01-2015 19:13:11)
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
Не совсем понял что вы имели ввиду, но насколько я понял суть вопроса - игнор ошибок же был отключён в самом начале
- вот: SET !ERRORIGNORE YES
эта команда включает игнорирование ошибок
либо вы ее не используете вовсе, чтобы ошибки не игнорировались, либо временно отключаете
' ошибки не игнорируются SET !ERRORIGNORE YES 'далее ошибки игнорируются ... SET !ERRORIGNORE NO TAG POS=2 TYPE=INPUT:email FORM=ACTION:*register* ATTR=DIR:ltr EXTRACT=TXT SET !ERRORIGNORE YES
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Ну не совсем в этом проблема, я так понял - поля то он на странице регистрации забивает, только проблема в том, что когда нажимаешь зарегистрироваться, выскакивает ошибка регистрации:
"Пожалуйста, исправьте следующие ошибки:
Некоторые поля содержат неожиданные данные. Пожалуйста, попробуйте ещё раз или свяжитесь с администратором."
Походу это защита от ботов реагирует
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
Feraset, я же объяснил, делаешь js-скрипт, который выполняет вышеизложенный код кусками:
вход на сайт
проверка наличия "лишних" полей (мыло и подтверждение пароля, каждое отдельно нужно проверять)
в зависимости от наличия/отсутствия этих полей, js отправляет на выполнение либо код с одной позицией поля ввода, либо с другой
Добавлено 21-01-2015 16:18:06
только проблема в том, что когда нажимаешь зарегистрироваться, выскакивает ошибка
потому и выскакивает, что у тебя в iim-скрипте забиваются те поля (скрытые), что в итоге должны быть пустыми (доп защита)
Отредактировано InfSub (21-01-2015 16:18:06)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Честно говоря с js знаком слабо - могу только читать код и немного редактировать(азы программирования помогают), но суть вашей идеи я уловил. Получается эта ошибка выскакивает при заполнении как бы "несуществующих полей". Буду кумекать, спасибо
Отредактировано Feraset (21-01-2015 16:27:57)
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
азы программирования помогают
этого должно быть достаточно, для написания кода вида:
Отредактировано InfSub (21-01-2015 16:32:13)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Если
r не равно ошибке, тогда выполняем код1 иначе выполняем код2
код1 и код2 это я так понимаю это поля по позициям:
И ещё насчёт js - вместо вышеописанных строк кода "tag pos" - мне просто нужно запускать этот скрипт?
if(r=='#EANF#'){iimPlayCode('код')} else{iimPlayCode('код')};
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
Feraset, это просто пример, того, как это сделать, повторюсь
для облегчения написания данного кода, думаю, вам стоит поискать в основной теме по iMacros, примеры проверки на наличие каптчи
там, в том числе, есть и код получения данных из iim в переменную, в данном случае в r
Добавлено 21-01-2015 16:41:44
вообще же, для этого есть функция iimGetLastExtract()
Добавлено 21-01-2015 16:50:34
вот, например, тыц, еще тыц
Добавлено 21-01-2015 17:01:26
и вот еще тыц
Отредактировано InfSub (21-01-2015 17:01:26)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Извините, я вас наверное уже заколебал . Просто я реально не могу понять, что конкретно занести в переменную R? Как я понял это данные которые вытаскивются из кода iim - так какие данные и как вытащить?
- так чтоли?
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
Извините, я вас наверное уже заколебал . Просто я реально не могу понять, что конкретно занести в переменную R? Как я понял это данные которые вытаскивются из кода iim - так какие данные и как вытащить?
- так чтоли?
можно и так
суть в том, что при отсутствии лишних полей макрос будет возвращать #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}}');
Отредактировано InfSub (21-01-2015 17:16:00)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Спасибо - думаю это должно сработать. Теперь осталось найти как с iim файла запускать js и больше нечего желать)
Хотя нет - всё просто:
А вот оно
Отредактировано Feraset (21-01-2015 17:29:07)
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует
Спасибо - думаю это должно сработать. Теперь осталось найти как с iim файла запускать js и больше нечего желать)
Хотя нет - всё просто:
А вот оно
не понятно вообще зачем из iim запускать js, все можно сделать в js
во вторых, это есть в Мини FAQ по iMacros for Firefox
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Пробую писать полностью на js - столкнулся с трудностью:
Если pos не только 1 и 2 но и 3, тогда получается так?
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}}');
Отредактировано Feraset (21-01-2015 18:18:22)
Жалкий царек ничтожного острова выказывает неповиновение белым богам и с презрением прогоняет их парламентеров...
Отсутствует