Скрипты PHP в Human Emulator
Сценарии пишут в Studio на PHP (также C#, JavaScript, Python). Это не браузерное расширение: скрипт выполняется программой на Windows. Прокси из PHP — в FAQ по прокси, браузер и localStorage — в FAQ по браузеру.
Видео на YouTube недоступно
Плеер YouTube из этой сети не открывается (часто в РФ). Материалы на сайте и в соцсетях:
- В: Как организовать действия в цикле?
Получить начальное представление о циклах можно тут После изучения этого материала вы сможете использовать любые циклы под свои нужды в зависимости от ситуации. - В: Можно ли использовать объекты Эмулятора в своих функциях?
Да, если объявить их с помощью globals. Можно даже добавить это в файл xweb_human_emulator.php, который инклюдится в каждом скрипте чтобы не прописывать их каждый раз как понадобятся. - В: Как подключать к программе другие PHP-библиотеки?
В корневике папки «PHP», расположенной в каталоге с установленной программой, имеется файлик «php.ini» и папка «ext». Чтобы подключить какую-либо библиотеку, нужно убедиться в наличии соответствюущей dll в папке «ext» и снять комментарий для неё в «php.ini». - В: Я подключил к Хуману свой PHP, а он не хочет работать. Что делать?
В дистрибутив программы вшит уже полностью настроенный для работы с Хуманом PHP. Если по каким-то причинам он вас не устраивает, посмотрите в php.ini список необходимых для работы библиотек. Минимум, без которого ничего работать не будет, библиотека Curl. Вернуться на наш PHP при желании можно в любой момент. - В: Где взять скрипты для Human Emulator?
Готовые примеры лежат в папке Tests Samples установки Studio, в блоге и в документации. Скрипты под задачу заказывают в отделе продаж или у партнёров. Структура заголовка скрипта — как в описании Free (порт, Templates/xweb_human_emulator.php). Актуальный движок — Chromium/Firefox в Studio, не старый Internet Explorer из Free. - В: Как задать прокси из PHP-скрипта?
Команда$browser->enable_proxy, SOCKS и логин/пароль разобраны в FAQ: прокси. - В: За что отвечает порт в программе и шаблон (папка Template)?
В актуальной линейке Studio команды уходят во встроенный Chromium/Firefox. Ниже — логика порта и папки Templates (в старых сборках это был IE). Программа передаёт команды браузеру через указанный порт. Это нужно чтобы управление хуманом было универсальным - например можно поставить хуман на сервер и управлять им с локальной машины. Во время запуска программа поднимает встроенный браузер и слушает команды на порту. Номер этого порта можно узнать, посмотрев левый верхний угол окна программы или из настроек по F9. А через порт, указанный в шаблонах, все команды скрипта будут ломиться к браузеру. Следовательно, если есть несоответствие, работать должным образом скрипт не будет. - В: Как поставить выполнение скрипта на паузу?
Для этого существует функция $app->pause($timeout); Если таймаут - 0, то скрипт ждёт вмешательства пользователя. В ином случае он останавливается на указанное количество секунд. - В: Как начать работу с MySQL?
Human Emulator не накладывает никаких ограничений на используемое для работы PHP, так что при необходимости можно использовать программу в связке с этой субд. Правда, сначала нужно снять в php.ini комментарии с нужных для работы MySQL библиотек и убедиться в том, что эти самые библиотеки присутствуют в папке "ext". После всех эти мероприятий используем эту функцию.
Так же принцип работы разобран на примерах в блоге. - В: При попытке запуска скрипта программа пишет 'CreateProcess failed. Please install PHP correctly'. Что делать?
Проверить что в настрйоках верно указан путь к папке с PHP. Проверить запускается ли php.exe изх этой папки. Если нет - то доустановить .NET framework
и Microsoft C++ redistributable 2008 и 2010 и 2012 (в зависимости от версии PHP илиу становить все)
. Новый Хуман использует новые возможности PHP, а новый PHP требует наличия на вашем компе вышеуказанных штуковин. Если после установки php.exe все равно не запускается проверить в журнале приложений Windows причину и устранить ее. Журнал можно открыть чрезе меню Администрирования - В:Как правильно в функциях php использовать методы программы Humanemulator?
Для использования команд в одной функции в Humanemulator,их надо использовать global и в ней должны быть перечислены все объекты, которые вы используете в этой функции. То есть это должно выглядить следующим образом, вот как в примере функции должны выглядеть так:
// логинимся на сайт function login_aviso($aviso_lg,$aviso_pwd) { global $anchor, $input, $form, $browser, $webpage; $anchor->click_by_href("http://online.aviso.ua/account2/"); $input->send_keyboard_input_by_name("uemail",$aviso_lg); $input->send_keyboard_input_by_name("upass",$aviso_pwd); $form->submit_by_action("http://online.aviso.ua/account2/login.php"); $browser->set_active_browser(1); if(strpos($webpage->get_body(),"Последний визит:")===FALSE) return false;<br> return true;<br> }
- В:Как правильно прописывать абсолютные пути к файлам в php?
Существует железное правило,в абсолютных путях - если слэш слева направо(\) - их всегда должно быть два, если слэш справа налево(/) - то один. - В: Какой командой из скрипта я могу запустить другой скрипт на выполнение?
в PHP есть это сделать возможность через include(путь к скрипту). То есть фактически у вас получится один большой скрипт, который будет выполнять последовательно весь код и он будет последовательно выполнять все вставленные скрипты.
Кроме того есть возможность использовать следующую функцию XHE, которая запускает заданный вам скрипт на той же машине где работает XHE. - В: Как в скрипте проверить нажатие Ctrl (iskeydown) и нажать Ctrl+клавиша?
Скрипты Human Emulator пишутся на PHP (также C#, JavaScript, Python). Клавиатура — объект $keyboard. Чтобы удержать Ctrl и нажать другую клавишу, задайте префикс, затем эмулируйте клавишу и снимите префикс. То же для Alt и Shift:set_alt_prefix,set_shift_prefix. Отдельная проверка «зажата ли физическая Ctrl прямо сейчас» в типовом сценарии не нужна: состояние модификатора задаёт сам скрипт. Индикаторы Caps/Num/Scroll Lock проверяются методами вродеis_caps_lock_pressed. Ctrl+Alt+Del Windows не отдаёт пользовательским программам — такую комбинацию эмулировать нельзя. Пример Ctrl+A (выделить всё в поле ввода):
$keyboard->set_ctrl_prefix(true); $keyboard->key("a"); $keyboard->set_ctrl_prefix(false);
Документация: объект keyboard, key_down.
FAQ: оглавление · Покупка · Скрипты · Браузер · Система
Смотрите также: оглавление FAQ, покупка, скрипты, браузер и капча, система, PHP и скрипты, прокси, браузер, капча, DOM, официальное демо, эмуляция действий.
Если у вас возникли пожелания какие ответы вы бы хотели видеть здесь еще, пишите в нашу службу поддержки.
Готовы автоматизировать браузер?
Актуальная линейка — Human Emulator Studio и RT. Посмотрите примеры задач, скачайте демо или сразу купите лицензию. Вопросы — в Telegram или на странице поддержки.
Купить → | Что нового → | О Studio → | FAQ →