Одно из малоизвестных свойств Human Emulator это возможность удалённого управления.
Допустим, у вас есть Linux-сервер, на котором выполняется какой-то скрипт php по сбору данных.
Вам нужно отправить эти данные на обработку в Human Emulator и получить результаты работы обратно.
Но, как известно, XHE не работает в Linux-системах.
Можно поставить на Linux сервер эмулятор Windows и работать как обычно,
а можно поставить Human Emulator на комп с Windows и управлять им c Linux-сервера или с любого хостинга, который поддерживает php.
По такой же аналогии Хуман может стоять на одном компе с Windows, а запускать его можно, например, с ноутбука в одной локальной сети.
Для этого достаточно знать ip и порт, на котором запущенна программа.
Предположим, что Human Emulator стоит на сервере ip которого 190.90.198.14 на порту 7010 и пароль в настройках программы
для управления Хуманом не задан. Программа открыта и готова к работе. Для начала можно проверить связь с ней.
Для этого сделаем вызов команд XHE из любого браузера. Берём и вводим в адресную строку следующий текст
http://190.90.198.14:7010/Browser.navigate?url=google.ru
и нажимаем перейти. XHE на сервере должен перейти на страницу google.com. Если это произошло, то связь с программой установлена, если нет,
то нужно проверить ip, порт и пароль в настройках программы, а так же посмотреть, не блокирует ли файервол или антивирусник заданный порт.
Через браузер можно передавать любые команды Human Emulator. Например:
http://190.90.198.14:7010/Browser.navigate?url=http%3A%2F%2Fgoogle.com&use_cache=1— Переходим на Google.com
http://190.90.198.14:7010/Input.SetValueByName?name=q&value=human — Вводим поисковую строку в поле поиска google.
http://190.90.198.14:7010/InputButton.ClickByNumber?number=0 — Нажимаем на кнопку поиска.
Текст команд можно брать из панели информации или из шаблона XHE.
Итак, связь с Хуманом проверена и установлена. Теперь можно запустить скрипт. Для того что бы скрипт выполнялся на XHE,
который стоит на удалённом сервере, нам необходимо в скрипт передать IP и порт на котором запущена программа.
Для этого используется переменная $xhe_host.
В скрипте это будет выглядеть следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // задаём удалённые ip и порт $xhe_host ="190.90.198.14:7010"; // The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // переходим на гугль $browser->navigate('http://google.com'); // вводим поисковую строку в поле поиска google $input->set_value_by_name('q',"human"); // нажимаем на кнопку поиска $button->click_by_number(0); // Quit $app->quit(); ?> |
Примечание: При использовании в скрипте работы с файлами средствами php все действия с ними будут выполняться на компе, на котором запускается скрипт. Если работа с файлами реализована с помощью команд Human Emulator, то все манипуляции будут выполняться там же где стоит программа. Так, если есть в скрипте, который запускается на компе без XHE чтение/запись из/в файл, то для их корректной работы нужно использовать php функции.
Для запуска скрипта на том компе где не стоит хуман вам необходимо иметь установленный php. И через командную строку запустить этот скрипт на выполнение.
Пример командной строки: C:\PHP\php.exe «C:\My Scripts\MyScript22.php». Эту строку можно поместить в .bat файл и запускать его.
По аналогии можно управлять Human Emulator со страниц вашего сайта. Для этого нужно встроить на сайт форму, которая будет запускать скрипт и передавать в него параметры.
Например, для того что бы запустить выше написанный скрипт и передавать в него строку для поиска нам нужно добавить на сайт форму в таком виде:
1 2 3 4 5 6 |
<form name="form1" method="post" action="run_search.php"> <p><span>Введите строку для поиска: </span> <input type="text" name="q_search"> </p> <input type="submit" value="Отослать форму"> </form> |
При этом файл run_search.php будет лежать там же где и страница с формой и выглядеть следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php // задаём удалённые ip и порт $xhe_host ="190.90.198.14:7010"; // The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); $q=$_POST['q_search']; if(isset($q)) { // переходим на гугль $browser->navigate('http://google.com'); // вводим поисковую строку в поле поиска google $input->set_value_by_name('q',"human"); // нажимаем на кнопку поиска $button->click_by_number(0); echo "выполнено!"; } else echo "запрос не введён. введите запрос!"; // Quit $app->quit(); ?> |
Более подробно про передачу параметров с помощью HTML-форм можно прочитать в мануале по php. Если у вас есть вопросы или какие-то соображение
по данной теме всегда можно спросить на форуме.