Как начать работать с Хуманом

часто задаваемые вопросы по программе
Ответить
Аватара пользователя
igvard
Site Admin
Сообщения: 241
Зарегистрирован: 31 июл 2008, 22:53

Как начать работать с Хуманом

Сообщение igvard » 08 сен 2009, 17:22

Итак, вы счастливый обладатель Human Emulator.
Устанавливайте программу XWeb Human Emulator. При установке, программа выдаст "системный код" (ID). Этот код, а так же свой e-mail, необходимо скопировать в отдел продаж (ICQ: 420-444-071) и получить у них код активации. После чего полученный код скопировать в окно активации, не забыв при этом указать свой e-mail в соответствующем окошке, и активировать программу.
После ввода кода, видим интерфейс программы:
Изображение

Видео по установке программы:
http://www.youtube.com/watch?v=28lVD-uGaA0

Для удобства работы, можно ещё сменить язык интерфейса на русский, через меню Серсис->Язык->Русский. В итоге программа готова к работе.
Для того, чтобы начать работу, необходимо познакомиться с основными функциями программы и понять принцип работы программы.
К примеру, мы открываем браузер, вводим адрес сайта в адресной строке, затем используя клавиатуру или мышь, вводим данные в формы, которые присутствуют на открытой нами странице. С помощью программы Human Emulator можно отследить все движения, сделанные нами на странице.
Какие движения будет "запоминать" программа, можно установить в меню Сервис->Настройки->Макрос.
Программа отлавливает три вида событий:
-движения мыши;
-ввод с клавиатуры;
-клики мыши.
В большинстве случаев при заполнении полей, движения мыши нам не потребуются, поэтому галочки можно оставить только напротив двух значений: "отлавливать события клавиатуры" и "отлавливать события клика". Сохраняем выбранные нами настройки.
А сейчас перейдём непосредственно к работе со страницей, скрипт для заполнения которой мы хотим написать.
Если мы посмотрим внимательно на окно программы, то увидим, что оно разделено на две панели: левую и правую. В правой находится браузер, а в левой редактор. Если редактора не видно, то его можно сделать видимым нажав в меню ВИД->Левая панель.
Итак, начинаем писать скрипт. В меню нажимаем МАКРОС->ЗАПИСЬ или просто набираем на клавиатуре Ctr+Shift+R. В левой панели программы увидим, что появилась новая вкладка и в ней такая запись:

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

<?php
// The following code is required to properly run Human Emulator
require("../Templates/xedant_human_emulator.php");
// Quit
$app->quit();
?>
Сноска:

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

require("../Templates/xweb_human_emulator.php");
Этот код необходим для запуска эмулятора. На моём компе почему-то с относительным путем этот код не работает, поэтому я вписывала вот такой код:

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

require("C:/Program Files/XWeb/Human Emulator/Templates/xedant_human_emulator.php");
В правой панели, в адресной строке программы пишем урл страницы, к примеру: http://www.xanga.com/register.aspx и нажимаем клавишу Enter.
Открывается страница, которую мы будем заполнять.

В левой панели тут же видим изменения:

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

<?php
// The following code is required to properly run Human Emulator
require('../Templates/xedant_human_emulator.php');
$browser->navigate('http://www.xanga.com/register.aspx ');
$browser->wait_for(240,1);
// Quit
$app->quit();
?>
Дальше на странице (в правой панели) заполняем поля, а в левой сразу же видим изменения.

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

<?php
// The following code is required to properly run Human Emulator
require('../Templates/xedant_human_emulator.php');
$browser->navigate('http://www.xanga.com/register.aspx ');
$browser->wait_for(240,1);
$input->set_value_by_name('registrationModule$txtUsername','janberb');
$input->set_value_by_name('registrationModule$txtPassword1','janberb1');
$input->set_value_by_name('registrationModule$txtPassword2','janberb1');
$input->set_value_by_name('registrationModule$txtEmail','janberb@gmail.com');
$input->set_value_by_name('registrationModule$txtLetters','mmsot');
$listbox->select_name_by_inner_name('registrationModule$DOB_month','1');
$listbox->select_name_by_inner_name('registrationModule$DOB_day','28');
$listbox->select_name_by_inner_name('registrationModule$DOB_year','1958');
$checkbox->click_by_name('registrationModule$chkReadTerms');
$browser->wait_for(240,1);
$button->click_by_name('registrationModule$createAccountButton');
$browser->wait_for(240,1);
// Quit
$app->quit();
?>
Здесь пока можно остановиться. Нажимаем через меню в программе Макрос->Остановить или просто набираем на клавиатуре Ctr+Shift+R.

Пока рассмотрим подробнее код полученного скрипта, чтобы понять принцип работы программы.
Начнём со строки:

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

$input->set_value_by_name('registrationModule$txtUsername','janberb');
Если расшифровать инструкции этой строки, то получится вот такое:
input - вставить
set_value_by_name - присвоить значение по имени;
registrationModule$txtUsername - кому присовить(указывается имя поля);
janberb - значение поля, которое мы вводили от руки.

С input и set_value_by_name, думаю, понятно, это функции программы, а вот для того, чтобы понять откуда берется registrationModule$txtUsername рассмотрим код страницы http://www.xanga.com/register.aspx
С помощью программы это сделать просто. Откроем страницу снова в браузере программы. Далее в меню программы нажимаем Отладка->Пронумеровать->Поля Ввода или Ctrl+Alt+I. Видим, что в полях ввода что-то появилось. Например, в поле "Choose Username" видим: "0 registrationModule$txtUsername", где 0 - это номер поля, а
registrationModule$txtUsername имя поля.
Также, можно пронумеровать не только поля ввода, но и другие элементы страницы и посмотреть какие значения будут принимать поля в зависимости от того какую нумерацию производить.
Разобравшись что откуда берётся, можно вернутся к скрипту, который у нас получился.
Присмотревшись к странице регистрации видим, что поля ввода нам как бы все известны заранее, кроме поля ввода каптчи (каптча на странице регистрации каждый раз новая), поэтому в полученном скрипте преобразуем строку:

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

$input->set_value_by_name('registrationModule$txtLetters','mmsot');
в такой вид, чтобы при запуске готового скрипта мы могли вводить каптчу от руки.

Новая конструкция будет иметь вид:

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

$captcha = $app->dlg_captcha_from_image_number(1);

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

$input->set_value_by_number("4",$captcha);
Догадаться, откуда взялись цифры 1 и 4 можно, но всёж посмотрим откуда они берутся.
В скрипте, который программа сама составила, в основном, использована нумерация по имени name, но можно использовать любую другую нумерацию. Например, ввод капчи можно использовать через нумерацию картинки. Жмём Отладка->Пронумеровать->Рисунки (Ctrl+Alt+P), наводим мышь на рисунок капчи и видим всплывшую цифру 1. Исходя из этого и есть у нас

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

$captcha = $app->dlg_captcha_from_image_number(1);
Тут же смотрим, что в поле куда мы вводили каптчу, есть такое значение: "4 registrationModule$txtLetters", следовательно, оттуда и взялась цифра 4 в строке $input->set_value_by_number("4",$captcha);.

В итоге, у нас получился вот такой симпатичный скрипт:

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

<?php
// The following code is required to properly run Human Emulator
require("c:\Program Files\Xedant\Human
Emulator/Templates/xedant_human_emulator.php");
$browser->navigate('http://www.xanga.com/register.aspx ');
$browser->wait_for(240,1);
$input->set_value_by_name('registrationModule$txtUsername','janberb');
$input->set_value_by_name('registrationModule$txtPassword1','janberb1');
$input->set_value_by_name('registrationModule$txtPassword2','janberb1');
$input->set_value_by_name('registrationModule$txtEmail','janberb@gmail.com');
$captcha = $app->dlg_captcha_from_image_number(1);
$input->set_value_by_number("4",$captcha);
$listbox->select_name_by_inner_name('registrationModule$DOB_month','1');
$listbox->select_name_by_inner_name('registrationModule$DOB_day','28');
$listbox->select_name_by_inner_name('registrationModule$DOB_year','1958');
$checkbox->click_by_name('registrationModule$chkReadTerms');
$browser->wait_for(240,1);
$button->click_by_name('registrationModule$createAccountButton');
$browser->wait_for(240,1);
// Quit
$app->quit();
?>
Проверим его работоспособность. Для этого в меню выбираем Отладка->Выполнить. Всё работает! Значит первый этап разработки скрипта пройден удачно.


Сноска:
$captcha
$app
dlg_captcha_from_image_number
$input
set_value_by_number
Описание функций программы с примерами можно найти тут:
http://www.humanemulator.info/2712

Автор: Nadejda
http://4seo.biz/index.php?showtopic=1435

Спасибо !
Последний раз редактировалось igvard 24 май 2010, 20:04, всего редактировалось 4 раза.

Ответить