====== Настройки программы ====== Все настройки программы задаются с помощью диалога настроек. Вызвать этот диалог можно через меню //Сервис->Настройки// {{wiki:menu_service_xhe.jpg}} Или с помощью горячей клавиши F9. Диалог Настройки состоит из нескольких вкладок с помощью, которых настраиваются различные группы настроек. Подробное описание каждой вкладки вы найдете ниже. А также из следующих кнопок: * Кнопка **Сохранить в файл** служит для сохранения всех выбранных настроек из диалога в файл с расширением INI. * Кнопка **Загрузить из файла** служит для загрузки всех настроек из файла с расширением INI в диалог настроек. * Кнопка **По умолчанию** выставляет все значения настроек на всех вкладках диалога настроек в значения по умолчанию. * Кнопка **OK**. При нажатии на эту кнопку сохраняются все выбранные с помощью диалога настройки программы. * Кнопка **Отмена**. Закрыть диалог настроек без сохранения всех изменений. ===== Основные ===== {{ wiki:settings_main_xhe.jpg }} Закладка //Основные// содержит следующие настройки: * **Порт** - Порт, на котором работает программа. По умолчанию 7010. Значение может быть любым свободным портом компьютера/сервера. * **Пароль** - Пароль для подключения к программе. По умолчанию пустое значение. * Поле **PHP папка** содержит путь к папке с PHP, с помощью которого в программе выполняются скрипты написанные на Php. * Поле **Мои скрипты** содержит путь к папке со скриптами, которая отображается в дереве скриптов //Мои Скрипты// в панеле //Быстрый Старт//. * **Стартовать с** поля для ввода страницы, которая будет открываться при запуске программы. Значение по умолчанию //humanemulator.blogspot.com//. * **Название окна** - поле для ввода значения текста заголовка окна программы. При вводе можно использовать так называемые псевдостроки, вместо которых в заголовок будут подставляться текущие значения: * %%PORT%% - порта, на котором работает программа, * %%VER%% - номера версии программы, * %%UNICODE%% - unicode или не unicode версия программы программы * Галочка **Сбрасывать активный браузер при остановке скрипта** отвечает за возврат фокуса на закладку встроенного браузера по умолчанию, если скрипт был остановлен вручную. Если галочка выключена, активной останется последняя использовавшаяся закладка. * Галочка **Загружать последнюю открытую страницу при старте программы** полностью соответствует своему названию. По умолчанию выключена. При включении деактивирует строку **Стартовать с**. * Галочка **Скрывать при старте в трей** запускает программу в трее, не мешая пользователю заниматься другими делами. Полезна для сложных скриптов многопоточной версии программы, где требуются периодические перезапуски. * Галочка **Сворачивать в трей** тоже полезна для многопоточной версии программы, чтобы не захламлять панель задач множеством одинаковых закладок. * Галочка **Уведомлять миганием о скриптовых сообщениях** работает только для свёрнутых в панель задач копий программы. При включённых уведомлениях, если программа заканчивает работу, натыкается на диалог, требующий участия пользователя, и т.д., плашка программы в панели задач начинает мигать, привлекая внимание пользователя. * Галочка **Уведомлять о новой версии программы при старте** отвечает за сверку версии текущей программы и находящейся на сервере разработчиков. В случае несовпадения появится предложение скачать последнюю версию. Конечно, при отсутствии надобности в этом деле, галочку можно снять. * Галочка **Запрещать использование прокси при остановке скрипта** отвечает за возвращение настроек прокси ИЕ и программы к первоначальным, если скрипт был остановлен. По умолчанию включена. Если отключить, поставленные программой настройки прокси могут остаться и вызвать несколько минут недоумения вроде "Эй, что с моим интернетом?" * Галочка **Загружать последнюю открытую страницу при старте программы** при выборе этой галочки в программе при её старте будет открываться последняя открытая на момент выхода из программы страница. * Галочка **Спрашивать об изменении порта** отвечает за появление диалогов, предлагающих пользователю сменить номер порта. Например, если есть различия между портом в скрипте и в настройках программы. * Галочка **Спрашивать при изменении скрипта внешним редактором** отвечает за появление диалогов, предлагающих пользователю перезагрузить скрипт в программу. Обычно это бывает если файл скрипта, открытого в программе, был каким-либо образом изменён вне её. * Галочка **Спрашивать о переходе на следующий порт** отвечает за появление диалогов, предлагающих пользователю перевести программу на работу со следующим портом. Обычно это происходит в случаях, когда текущий порт занят каким-то иным приложением или другой запущенной копией XHE. * Галочка **Иконка в трее** отображает иконку программы в системном лотке (трее) даже в том случае, если галочка **Сворачивать в трей** не активирована. * Галочка **Вопрос о рестарте XHE после утечек** отображает диалоговое окно с вопросом о перезапуске программы в связи с нехваткой оперативной памяти для её работы. * Галочка **Вопрос о перезапуске XHE и скрипта после утечек** отображает диалоговое окно с вопросом о перезапуске программы вместе с выполняемым скриптом в связи с нехваткой оперативной памяти для её работы. * Галочка **Вопрос о закрытии XHE после утечек** отображает диалоговое окно с вопросом о закрытии программы в связи с нехваткой оперативной памяти для её работы. * Кнопка **Всё по умолчанию** выставляет все значения вкладки по умолчанию. ===== Браузер===== {{ wiki:settings_browser_xhe.jpg }} Закладка //Браузер// служит для установки настроек встроенного в программу браузера. * Галочка **Разрешить рисунки** отвечает за отображение во встроенном браузере рисунков * Галочка **Разрешить Java скрипт** отвечает за использование во встроенном браузере Java-скриптов * Галочка **Разрешить ActiveX** отвечает за использование во встроенном браузере элементов ActiveX * Галочка **Разрешить Видео** отвечает за подгрузку и проигрывание видео во встроенном браузере * Галочка **Разрешить Звуки** отвечает за проигрывание во встроенном браузере любых звуковых файлов * Галочка **Разрешить Java** отвечает за использование встроенным браузером любых Java элементов (Не путать с Javascript) * Галочка **Разрешить Фреймы** отвечает за подгрузку и работу встроенного браузера с фреймами и их элементами * Галочка **Разрешить PopUp** отвечает за подгрузку и работу встроенного браузера со всплывающими окнами. Если включено, всплывающие окна будут открываться в новых закладках. * Галочка **Включить тихий режим** выключает звуки и видео, игнорирует ошибки сценариев и попапы. В общем, заставляет программу работать тихо и не взирая ни на что. * Галочка **Разрешить использование кэша** позволяет программе хранить кэш файлы, полученные в процессе работы. В случае выключения, кэш полностью очищается при перезапуске программы. * Галочка **Разрешить DOM хранилище** позволяет программе использовать DOM хранилище для хранения информации, полученной в процессе работы. * Галочка **Разрешить общий кэш и куки**. При выборе этой галочки все копии XHE используют общие папки кэша и куков. * Галочка **Запретить сообщения скриптов** выключает сообщения скриптов сайтов о возникновении каких-либо проблем. Весьма полезно, так как зачастую такие сообщения блокируют возможность работы с сайтом до нажатия **Ок**. * Галочка **Отключить диалог загрузки файлов** запрещает возникновения стандартных диалогов, предлагающих загрузку файлов. Для автоматизации загрузки есть соответствующие функции, где диалоги не требуются. * Галочка **Отключить сообщения браузера** запрещает возникновения окон из разряда **Страница использует частичное шифрование** или **Отправляемые вами данные могут быть доступны другим пользователям**. * Галочка **Запретить сообщения проблем безопасности** запрещает возникновения окон вроде **Сертификат страницы устарел** * Галочки **Разрешить WebSocket**. Протокол WebSocket («веб-сокет»), описанный в спецификации RFC 6455, обеспечивает возможность обмена данными между браузером и сервером через постоянное соединение. Данные передаются по нему в обоих направлениях в виде «пакетов», без разрыва соединения и дополнительных HTTP-запросов. * Галочка **Разрешить Callback** * Галочка ** Разрешить просмотр JSON** включает/отключает режим, позволяющий просматривать JSON код в браузере. * Галочка ** Отрисовка картинок через DirectX** включает/отключает режим, в котором DirectX будет использоваться для рисования изображений (требуется перезапуск программы для применения). * Галочка ** Отрисовка страницы через GPU** включает / отключает режим, в котором графический процессор будет использоваться для рендеринга страницы (требуется перезапуск программы для применения). * В меню **Модель браузера** можно выбрать версию ИЕ, под которую будут формироваться страницы во встроенном браузере. * В строке **Текущий прокси(не сохраняется)** можно проверить и/или изменить текущий прокси, через который работает внутренний браузер. При закрытии программы данная настройка сбрасывается автоматически. * В строке **Задать строку User-Agent по умолчанию** можно задать параметры Юзер-Агента, которые встроенный браузер будет отправлять всем посещаемым сайтам. * Кнопка **Копировать как PHP код** закидывает в буфер обмена все сделанные настройки в виде PHP кода. При вызове скрипта с этим кодом все настройки закладки **Браузер** придут в текущий вид вне зависимости от того, какими были до этого. * Кнопка **Всё по умолчанию** выставляет все значения вкладки по умолчанию. ===== Макрос ===== {{ wiki:settings_macros_xhe.jpg }} Вкладка диалога настроек //Макрос// содержит настройки для работы с Макросом. [[https://xn--80awbbeioodeq4h3a.xn--p1ai/blog/%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d1%8c-%d0%b4%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b8%d0%b9-%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d0%b5%d0%bb%d1%8f-%d0%b2-%d0%b1%d1%80%d0%b0%d1%83%d0%b7/|Детально про Макрос можно узнать в нашем блоге]]. Принцип работы Макроса одинаков для всех версий программы. Вкладка содержит следующие настройки: * Галочка **Добавлять set focus к щелчку** включает/выключает режим программы, в котором при записи действий в Макросе к действую клика будет добавляться команда focus, которая задаёт фокус на элемент перед кликом на него. * Галочка **Добавлять mouse move к щелчку** включает/выключает режим программы, в котором при записи действий в Макросе к действую клика будет добавляться команда send_mouse_move, которая выполняет событие перемещение курсора мыши на элемент перед кликом на него. * Галочка **Добавлять ожидание к щелчку** включает/выключает режим программы, в котором при записи действий в Макросе к действую клика будет добавляться команда sleep(1), которая выполняет паузу в одну секунду после выполнения клика на элементе.ъ * Галочка **Полная эмуляции мыши** включает/выключает режим программы, в котором при записи действий в Макросе будет использовать реальный курсор мыши. [[https://xn--80awbbeioodeq4h3a.xn--p1ai/blog/%d0%b0%d0%b2%d1%82%d0%be%d0%ba%d0%bb%d0%b8%d0%ba%d0%b5%d1%80-%d0%b4%d0%bb%d1%8f-%d0%b1%d1%80%d0%b0%d1%83%d0%b7%d0%b5%d1%80%d0%b0/|Детально про эмуляцию реальной мыши и передачу событий читайте в нашем блоге]]. * Галочка **Полная эмуляции клавиатуры** включает/выключает режим программы, в котором при записи действий в Макросе используется реальная клавиатура. [[https://xn--80awbbeioodeq4h3a.xn--p1ai/blog/%d0%b0%d0%b2%d1%82%d0%be%d0%ba%d0%bb%d0%b8%d0%ba%d0%b5%d1%80-%d0%b4%d0%bb%d1%8f-%d0%b1%d1%80%d0%b0%d1%83%d0%b7%d0%b5%d1%80%d0%b0/|Детально про эмуляцию реальной клавиатуры и передачу событий читайте в нашем блоге]]. * Поле **Время перемещения мыши (с)** используется для установки времени перемещения мыши между кликами в секундах. * Поле **Дрожание мыши** используется для установки колебаний курсора мыши при его перемещении в пикселях. * Поле **Таймаут записи команд макроса (мс)** используется для установки пауз при записи команд макроса в миллисекундах. * Группа галочек **Отлавливать События** включает/выключает режимы программы, в котором при записи действий в Макросе записываются события от **Мыши**, **Клавиатуры** и события **Клика по элементу** соответственно выбранным галочкам. * Группа кнопок выбора **Создавать функции** включает/выключает режим программы, в котором при записи действий в Макросе выставляется приоритетный параметр, через который программа работает с выбранным элементом. В зависимости от выбранного кнопки это **ID, Имя элемента, любой доступный Атрибут элемента, внутренний текст или внутренний html, номер элемента**. Если у элемента нет выбранного параметра программа ищет первый доступный параметр, через который можно определить элемент. То есть срабатывает вариант **Автоматически**. * Галочка **Создавать новый скрипт** включает/выключает режим программы, в котором при начале записи действий с помощью Макроса будет создавать новый скрипт. Если галочка отключена записываемые Макросом команды будут добавляться в текущий открытый скрипт. * Кнопка **Всё по умолчанию** выставляет все значения вкладки по умолчанию. ===== Редактор ===== {{ wiki:settings_editor_xhe.jpg }} Вкладка диалога настроек //Редактор// используется для настройки //Редактора скриптов//. Вкладка содержит следующие настройки: * Поле выбора **Выбрать стиль для редактирования** содержит список операторов стили, которых можно редактировать с помощью кнопок выбора цвета **Цвет Текста**,**Задний фон** и **Фон редактора**, а также с помощью кнопки выбора **Шрифт...**. * Кнопка **Задать слова** используется для добавления в список операторов любых слов. После добавления эти слова будут подсвечиваться в скрипте как операторы. * Галочка **Показать нумерацию строк** включает/выключает режим, в котором программа отображает в панеле Редактор скриптов нумерацию строк. * Галочка **Показать регион** включает/выключает режим, в котором программа отображает панель для сворачивания цельных кусков кода, таких как тело операторов или функций. * Галочка **Показывать отступы** отвечает за отображение отступов спецсимволами. По умолчанию выключена, так как отступы и их количество зачастую проще определять "на глаз". * Галочка **Показать концы строк** отвечает за отображение окончаний строк скрипта спецсимволом. По умолчанию выключена. * Галочка **Показать пустое место** более наглядно отображает пробелы в коде. Из-за незаметного лишнего пробела порой приходится изрядно повозиться с отладкой скрипта. Включение этой галочки такие ситуации исключит полностью. * Если выключить галочку **Перегружать файлы, изменённые внешним редактором**, изменения в этих файлах будут игнорироваться. Когда галочка включена, программа выдаёт диалог с предупреждением и вариантами выбора. * От галочки **Использовать UTF-8** зависит кодировка скрипта. По умолчанию используется ANSI, но при необходимости это можно изменить. * Галочка **Сохранять скрипт перед выполнением** по умолчанию включена и делает именно то, что указано в описании. После отключения запускаемые скрипты никак не изменяют оригинал, если в них были сделаны какие-либо правки. ===== Логи ===== {{ wiki:settings_logs_xhe.jpg }} Вкладка диалога настроек //Логи// служит для настройки логов работы программы. Вкладка содержит следующие настройки: * Галочка **Разрешить Online Справку** отвечает за переходы на страницу справки, если сделан правый клик по дереву примеров. Если отключено, переход не выполняется. * Галочка **Автоскролировать панели вывода** включает/выключает режим работы программы, в котором автоматически перелистывается вывод логов в нижней панели Отладка. * Галочка **Вести RAW лог** отвечает за перехват и вывод в окно RAW лога всего обмена данными между сервером и браузером. Рекомендуется использовать с осторожностью, так как это крайне ресурсоёмкий процесс. По умолчанию выключено. * Галочки **Показывать ответы сервера** и **Показывать ответы браузера** отвечают за отображение в окне RAW лога определённых ответов. Если, к примеру, необходимо ловить только ответы сервера, отображать ответы браузера нет незачем. * Галочка **Резервировать логи при старте** отвечает за создание при каждом запуске программы новых файлов логов. Старые переименовываются и остаются рядом, новые создаются пустыми. * Галочка **Показывать Совет Дня при запуске** отвечает именно за появление при запуске программы окошка с советом дня. Правда, самих советов там нет ещё. Задел на светлое будущее. * Галочка **Показывать Акции и Скидки** отвечает за появление при запуске программы окошка, информирующем пользователя о текущих акциях и скидках, связанных с программой Human Emulator. * Галочка **Разрешить лог команд** отвечает за ведение программой лога принимаемых команд (с параметрами) и результатов их выполнения. Файл лога сохраняется в папке, к качестве названия которой выступает номер порта, на котором работала программа. Сама эта папка находится в корневом каталоге программы. В случае каких-либо проблем с программой, найти причину проще всего по логам. * Галочка **Разрешить лог** отвечает за ведение программой лога происходящих с ней событий, отъедаемой памяти и используемых ресурсов. Файл лога сохраняется в папке, к качестве названия которой выступает номер порта, на котором работала программа. Сама эта папка находится в корневом каталоге программы. * Галочка **Вести лог шедулера** отвечает за ведение программой лога запускаемых через расписание задач скриптов, время их исполнения и результата. * Галочки **Очищать лог ../ /.. при старте** отвечают именно за это. Старые логи удаляются, новые и пустые создаются. Если логи ведутся постоянно, то могут разрастись до весьма тяжёлого состояния. Эти настройки будут поддерживать их в форме. * В поле **Кодировка окна отладки** можно вписать кодировку, через которую будет пропускаться весь отображаемый в окне отладки текст. Весьма полезно при работе, к примеру, с китайскими сайтами. * В поле **Очистить окна отладки после** можно вписать максимальное количество символов, которые будет отображать (и следовательно держать в памяти) программа в окне отладки. Хоть это и крошечные потери производительности, при непрерывной работы и спаме в отладку процесс может изрядно замедлиться.