Страница 1 из 1

Помогите заполнить форму регистрации

Добавлено: 29 май 2011, 17:25
santilo
Всем привет, может кто подскажет мне как заполнить вот эту форму http://www.igra3k.ru/main/signup , я как не пробовал хуман не хотит ее заполнять.

Re: Помогите заполнить форму регистрации

Добавлено: 29 май 2011, 21:33
duxabilii

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

<?php

$xhe_host ="127.0.0.1:7010";
require("../Templates/xweb_human_emulator.php");

$browser->navigate('http://www.igra3k.ru/main/signup');
$browser->wait_for(60,1);
$input->set_value_by_name('signin[login]',$login);
$input->set_value_by_name('signin[password]',$pass);
$checkbox->click_by_name('signin[remember_me]');
$inputimage->click_by_number('0');
$browser->wait_for(60,1);

$app->quit();
?>

Re: Помогите заполнить форму регистрации

Добавлено: 30 май 2011, 06:43
santilo
duxabilii писал(а):

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

<?php

$xhe_host ="127.0.0.1:7010";
require("../Templates/xweb_human_emulator.php");

$browser->navigate('http://www.igra3k.ru/main/signup');
$browser->wait_for(60,1);
$input->set_value_by_name('signin[login]',$login);
$input->set_value_by_name('signin[password]',$pass);
$checkbox->click_by_name('signin[remember_me]');
$inputimage->click_by_number('0');
$browser->wait_for(60,1);

$app->quit();
?>
Этот код для входа на сайт, а мне надо саму форму регистрации заполнить , а она как я понил через javascript , может посмотришь еще раз.

Re: Помогите заполнить форму регистрации

Добавлено: 30 май 2011, 10:57
igvard
Простейший скрипт регистрации:

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

<?php

$xhe_host ="127.0.0.1:7010";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

$browser->navigate('http://www.igra3k.ru/main/signup');
$browser->wait_for(60,1);

$anchor->click_by_inner_text('Registration',true);
$browser->wait_for(60,1);

sleep(2);

$nick = $submitter->generate_random_nick_name(rand(5,9));
$pwd = $submitter->generate_random_text(rand(5,9),1);


$input->set_value_by_name('signup_login',$nick);

$input->set_value_by_name('signup_password',$pwd);
$input->set_value_by_name('signup_repassword',$pwd);
$input->set_value_by_name('signup_email',$nick.'@mail.ru');

$input->set_value_by_name('signup_name',$nick);

$captcha = $app->dlg_captcha_from_url_exactly("igra3k.ru/captcha?",false);
$input->set_value_by_name('signup_captcha',$captcha);

$inputimage->click_by_number('0');
$browser->wait_for(60,1);

// Quit
$app->quit();
?>

Re: Помогите заполнить форму регистрации

Добавлено: 30 май 2011, 12:59
santilo
igvard писал(а):Простейший скрипт регистрации:

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

<?php

$xhe_host ="127.0.0.1:7010";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

$browser->navigate('http://www.igra3k.ru/main/signup');
$browser->wait_for(60,1);

$anchor->click_by_inner_text('Registration',true);
$browser->wait_for(60,1);

sleep(2);

$nick = $submitter->generate_random_nick_name(rand(5,9));
$pwd = $submitter->generate_random_text(rand(5,9),1);


$input->set_value_by_name('signup_login',$nick);

$input->set_value_by_name('signup_password',$pwd);
$input->set_value_by_name('signup_repassword',$pwd);
$input->set_value_by_name('signup_email',$nick.'@mail.ru');

$input->set_value_by_name('signup_name',$nick);

$captcha = $app->dlg_captcha_from_url_exactly("igra3k.ru/captcha?",false);
$input->set_value_by_name('signup_captcha',$captcha);

$inputimage->click_by_number('0');
$browser->wait_for(60,1);

// Quit
$app->quit();
?>
igvard благодарю за помощь , все работает

Re: Помогите заполнить форму регистрации

Добавлено: 30 май 2011, 15:01
duxabilii
Эх, не успел. :cry:

Re: Помогите заполнить форму регистрации

Добавлено: 30 май 2011, 15:47
satih
:) это не соревнование, помоги ближнему и тебе воздастся (ц)

Re: Помогите заполнить форму регистрации

Добавлено: 03 июн 2011, 23:30
ilekor
Кстати ожидание загрузки страницы через яваскрипт я делаю так

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

$w=0;do {sleep(1);$w++;} while ($browser->is_busy());
На моих нужных ботах работает, не знаю, может где еще не пашет.

Re: Помогите заполнить форму регистрации

Добавлено: 04 июн 2011, 01:10
satih
красивее/понятней можно написать это через

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

while ($browser->is_busy()) sleep(1);
иначе что делает $w неясно. т.е. написано $w++ но нигде не используется, и что будет если он наберет 1кк итераций? :)

сторка выше это не $browser->wait()? через снифер если посмотреть, $browser->wait() каждую секунду вроде и запрашивает is busy