Страница 3 из 5

Re: Помогите новичку написать скрипт для Human!

Добавлено: 18 фев 2011, 23:15
nikson
Во блин ошибка за ошибкой, теперь заметил что если на странице регистрации присутствует 2 поля для ввода email то все нормально

Код: Выделить всё

$input->remove_attribute_by_name('email','name');
$input->set_value_by_name('email',$email);
а если одно поле то все поля заполняются правильно но затем после подтверждения регистрации меня возвращает опять на страницу регистрации и выдает ошибку "ОШИБКА: Неверный e-mail"

И тоже самое с паролем

Код: Выделить всё

$input->remove_attribute_by_name('passw','name');
$input->set_value_by_name('passw',$pass);
$input->set_value_by_name('vpassw',$pass);
Выдает "ОШИБКА: Неверный e-mail
ОШИБКА: Вы должны указать пароль.
Оба пароля разные. Они должны быть идентичными.
"
Хотя все поля заполняются, в чем может быть дело?

Re: Помогите новичку написать скрипт для Human!

Добавлено: 19 фев 2011, 05:34
satih
nikson писал(а):Во блин ошибка за ошибкой, теперь заметил что если на странице регистрации присутствует 2 поля для ввода email то все нормально

Код: Выделить всё

$input->remove_attribute_by_name('email','name');
$input->set_value_by_name('email',$email);
а если одно поле то все поля заполняются правильно но затем после подтверждения регистрации меня возвращает опять на страницу регистрации и выдает ошибку "ОШИБКА: Неверный e-mail"
первая строка кода снимает с поля с name=email атрибут name, вторая строка его заполняет $email в поле с name=email . если было 2 поля, то все ок, с первого поля сняли name, оставшееся заполнили (теперь есть только второе поле с таким name). если же было только 1 поле, то проблема, ибо после снятия атрибута, нет блоше на странице инпута с name=email (его сняли первой строкой скрипта), поэтому второй строке некуда заполнить имеил, и сабмит идет собсно с пустым полем на что и жалуется сайт. нужно подсчитать сколько раз в сурсе появляется name=email или как там написано, и по этому определить, еси есть 2 поля с таким name, или одно.

Re: Помогите новичку написать скрипт для Human!

Добавлено: 19 фев 2011, 05:59
satih
nikson писал(а):Возник вопрос, если определять капчу по части урл, то как сделать перебор, возможны два варианта:

Код: Выделить всё

$image->save_to_file_by_url("/cache/verify","F:\captcha.jpg", "false");
$image->save_to_file_by_url("/kcaptcha/kcaptcha","F:\captcha.jpg", "false");
ты видно не разобрал для себя скрипт тут, где я попробывал обьяснить конструкцию if elseif else, а жаль, одна из наиболее часто используемых. что-ж, покажу еще раз, только плиз не смотри чем именно заполняю условия (функции хумана в скобках), а именно на структуру, т.е. сначала проверяем условие в if, если оно сбылось, то следущие esleif не исполнятся, потом проверяется второй esleif, если он сбудется (условие в скобках вернет true), то следущие esleif не исполнятся, и так далее. последнее else дефолтный вариант, который исполнится когда неисполнилось ничего из списка до него.

Код: Выделить всё

if ($image->save_to_file_by_url("/cache/verify","F:\captcha.jpg", false)) echo 'captcha saved by url = /cache/verify<br>';
elseif ($image->save_to_file_by_url("/kcaptcha/kcaptcha","F:\captcha.jpg", false)) echo 'captcha saved by url = /kcaptcha/kcaptcha<br>';
else echo 'ERROR: captcha not found by url, need to fill more elseif conditions :( <br>';
nikson писал(а):И еще один, бывает что капча отсутствует

Код: Выделить всё

// Есть ли инпут с name 'captcha_code'
if ($input->is_exist_with_name('captcha_code')) $custom_input = 'captcha_code';
// Есть ли инпут с name 'user_code'
elseif ($input->is_exist_with_name('user_code')) $custom_input = 'user_code';
// Инпута нет, что делать???
else {
  echo 'ERROR: input not found<br>';
  $app->pause();
}
и тогда дальнейшая регистрация прекращается, как это предотвратить?

Код: Выделить всё

$app->pause();
останавливает скрипт, предпологается что если скрипт остановился, значит неодно из условий неподошло, что означает что ты не учел все возможные варианты, значит надо проверить страницу на которой остановились, чтоб проверить что можно добавить с нее. сними эту строку, и скрипт останавливатся не будет, просто будет писать 'ERROR: input not found'.

Re: Помогите новичку написать скрипт для Human!

Добавлено: 19 фев 2011, 11:30
nikson
satih писал(а):первая строка кода снимает с поля с name=email атрибут name, вторая строка его заполняет $email в поле с name=email . если было 2 поля, то все ок, с первого поля сняли name, оставшееся заполнили (теперь есть только второе поле с таким name). если же было только 1 поле, то проблема, ибо после снятия атрибута, нет блоше на странице инпута с name=email (его сняли первой строкой скрипта), поэтому второй строке некуда заполнить имеил, и сабмит идет собсно с пустым полем на что и жалуется сайт. нужно подсчитать сколько раз в сурсе появляется name=email или как там написано, и по этому определить, еси есть 2 поля с таким name, или одно.
В том то и дело что есть еще инпут с name, то есть форма регистрации заполняется полностью, но после подтверждения регистрации перекидывает опять на страницу регистрации и выводит ошибку "ОШИБКА: Неверный почтовый адрес", а кое где и "ОШИБКА: Неверный почтовый адрес
ОШИБКА: Неверное имя
ОШИБКА: Вы должны указать пароль.
Оба пароля разные. Они должны быть идентичными."
Хотя все поля заполняются, но потом что-то сбивается.

P.S. Если есть время помогите разобраться, я вам скину скрипт и урл, думаю по примеру легче будет понять, если надо то оплачу работу, а то уже 2 дня бьюсь и ничего не выходит. Пишите в ЛС или скинье icq, договоримся об оплате...

Re: Помогите новичку написать скрипт для Human!

Добавлено: 19 фев 2011, 12:22
ilekor
nikson писал(а):
satih писал(а):первая строка кода снимает с поля с name=email атрибут name, вторая строка его заполняет $email в поле с name=email . если было 2 поля, то все ок, с первого поля сняли name, оставшееся заполнили (теперь есть только второе поле с таким name). если же было только 1 поле, то проблема, ибо после снятия атрибута, нет блоше на странице инпута с name=email (его сняли первой строкой скрипта), поэтому второй строке некуда заполнить имеил, и сабмит идет собсно с пустым полем на что и жалуется сайт. нужно подсчитать сколько раз в сурсе появляется name=email или как там написано, и по этому определить, еси есть 2 поля с таким name, или одно.
В том то и дело что есть еще инпут с name, то есть форма регистрации заполняется полностью, но после подтверждения регистрации перекидывает опять на страницу регистрации и выводит ошибку "ОШИБКА: Неверный почтовый адрес", а кое где и "ОШИБКА: Неверный почтовый адрес
ОШИБКА: Неверное имя
ОШИБКА: Вы должны указать пароль.
Оба пароля разные. Они должны быть идентичными."
Хотя все поля заполняются, но потом что-то сбивается.

P.S. Если есть время помогите разобраться, я вам скину скрипт и урл, думаю по примеру легче будет понять, если надо то оплачу работу, а то уже 2 дня бьюсь и ничего не выходит. Пишите в ЛС или скинье icq, договоримся об оплате...

В вашей теме я давал решение, полностью готовое к работе, но вижу вы сами не хотите писать и смотреть, что вам тут показывают, например заполнение полей в форме выше писал, дальше я показывал функцию поиска.

Код: Выделить всё

// Поиск определенного текста на странице
function find($text, $where){
return strpos($where, $text);
}

if(find('captcha', $webpage->get_source())) $captchaimg = 'captcha';
if(find('verify', $webpage->get_source())) $captchaimg = 'verify';
if(find('kcaptcha', $webpage->get_source())) $captchaimg = 'kcaptcha';

if($captchaimg) {
ну а тут код для распознавания и заполнения каптчи
}

Удачи, удаляюсь с темы.

Re: Помогите новичку написать скрипт для Human!

Добавлено: 19 фев 2011, 13:31
nikson
ilekor писал(а):но вижу вы сами не хотите писать и смотреть, что вам тут показывают, например заполнение полей в форме выше писал
Так в том то и дело что поля заполняются, здесь не возникает никакой ошибки, но после подтверждение регистрации возникает ошибка якобы поле не заполнено хотя оно заполнялось...

Re: Помогите новичку написать скрипт для Human!

Добавлено: 21 фев 2011, 13:55
ilekor
nikson писал(а):
ilekor писал(а):но вижу вы сами не хотите писать и смотреть, что вам тут показывают, например заполнение полей в форме выше писал
Так в том то и дело что поля заполняются, здесь не возникает никакой ошибки, но после подтверждение регистрации возникает ошибка якобы поле не заполнено хотя оно заполнялось...
Возможно вы убирали атрибут или подменяли.

Re: Помогите новичку написать скрипт для Human!

Добавлено: 09 май 2011, 14:49
nikson
Добрый день!

Написал скрипт авторегистрации по профилям одного движка, все тип топ работает как часики :D , сегодня напарсил еще небольшую базу под этот движок, единственное отличие в самом процессе регистрации это то что кое-где при завершение регистрации 2 одинаковых $button->click_by_number('0');, подробнее:

Раньше завершение регистрации проходило так $button->click_by_number('0');, в новой базе если делать по номеру то присутствует два номера для завершения и для поиска и оба под номером "0". Как сделать проверку если при условии что на странице присутствует два $button->click_by_number('0');, первый удалялся или пропускался? Хотел сделать по имени, но оно не присвоено...

Re: Помогите новичку написать скрипт для Human!

Добавлено: 09 май 2011, 15:16
satih
примеры приводи лучше, непонял в чем проблема.. как могут быть две кнопки на странице с номером 0 ? разве что если одна из них в фрейме, но тогда и функция клика другая.

Re: Помогите новичку написать скрипт для Human!

Добавлено: 09 май 2011, 16:14
nikson
Пример:

http://www.zhuk.net/users.php?m=register

Кнопка "Отправить" и кнопка "Поиск в архиве" имеют один и тот же номер...
Из-за этого и выходит трабла если их две на странице регистрации...

Re: Помогите новичку написать скрипт для Human!

Добавлено: 09 май 2011, 18:10
satih
$form->submit_by_name('login');
если скрипт всех сайтов сайтов стандартный, имя формы тоже должно быть одинаковое, сабмить по нему

Re: Помогите новичку написать скрипт для Human!

Добавлено: 09 май 2011, 20:19
nikson
Не совсем понятно как это будет выглядеть, приведите пожалуйста полный пример кода для этого урл.

Re: Помогите новичку написать скрипт для Human!

Добавлено: 09 май 2011, 20:24
nikson
Вернее где посмотреть имя формы?

Re: Помогите новичку написать скрипт для Human!

Добавлено: 09 май 2011, 21:22
nikson
Спасибо, разобрался, все элементарно, просто нужно иногда отдыхать :D

Re: Помогите новичку написать скрипт для Human!

Добавлено: 10 май 2011, 11:22
satih
Чтобы хорошо работать, нужно хорошо отдыхать :)

я нахожу через хоткей ctrl + alt + left arrow , там в дом элементах ищешь какие формы есть на странице, как правило уже там видно нужную, если все еще нет, выбрать нужную из списка по хтмл сурсу.