Human Emulator 8: Windows и Linux
Восьмая линейка — бета
Здесь описана Human Emulator 8 — бета-линейка, которая публикуется рядом с седьмой.
Основной остаётся версия 7.x:
её установщики, обновления и документация — по прежним адресам. 7.x и 8.x обновляются раздельно,
версии не перескакивают с одной линейки на другую.
Переход на восьмую линейку ничего не переписывает и не требует второй покупки: скрипты,
написанные для 7.x, работают и в 8.x, а лицензия у линеек одна — ключ Studio из 7.x активирует
и Studio 8. Runtime, как и в 7.x, — отдельная лицензия.
Бету 8 можно посмотреть прямо сейчас: демо
HumanEmulatorStudioDemoInstall.8.exe. Полные установщики Studio 8 и RT 8 (Windows и Linux) —
в кабинете после покупки.
Что именно изменилось в ближайшем выпуске — в журнале обновлений 8.x (полный файл — change_log_studio_8.txt).
Нашли несоответствие между этим описанием и программой или не нашли нужной возможности —
напишите в Telegram,
это влияет на следующий выпуск беты.
Studio 8: тот же скрипт и тот же браузер, на какой бы системе он ни запускался.
Studio 8 — кроссплатформенная: среду разработки и роботов с Windows никто не переносит вручную. Установщик .run ставится на Linux, а скрипты, написанные для 7.x, работают в 8.x без правок: лицензия у линеек одна.
Страница отвечает на один вопрос: что именно перенесено в восьмую линейку и как устроены её коробки. Дополнения классической семёрки — на отдельной странице «Что нового в Human Emulator 7».
Состав коробок 8.x
Для каждой ОС — два установщика: Studio (среда разработки, редактор, планировщик, отладка) и Runtime (исполнение готовых роботов по расписанию или из командной строки, без интерфейса разработки). Windows — .exe на Inno Setup, Linux — .run. Демо публикуется для Windows; Linux-версия отдаётся после покупки в кабинете. macOS не поддерживается.
Границы переноса названы прямо: на Linux работают встроенный Chromium с DOM-вводом из скрипта, скрипты на PHP (в том числе «на машине разработчика»), Python-контейнер и chromedriver; методы, которым нужен Windows-слой, честно сообщают о недоступности, а не зависают.
Выпуск 8.1.0
Меню «Навигация». «Стартовая страница» и «Страница поиска» (как в Windows Studio).
Подсказки PHP в редакторе. Intelephense по require/include текущего робота, API из Templates, без объекта _.
«История версий». поиск, «новое с прошлого раза», две колонки, счётчики, копирование версии и изменение размера окна.
Подсказки Python в редакторе. Pyright extraPaths = Templates_PY и workspace папки робота.
Заставка при старте на том же мониторе, куда открывается главное окно (не primary и не курсор).
Выпуск 8.1.1
Старт: обязательные --apiPort и --instanceKey (у каждого экземпляра свои настройки, userData и single-instance), заставка живёт не дольше 120 с, при занятом порте API/CDP берутся свободные.
Панель информации. слушает пока видна (или всегда), компактный лог, поиск/фильтр, группировка повторов, длительность, экспорт и копирование API.
Панель информации. IsBusy/is_busy с ответом false не считается ошибкой.
Выпуск 8.1.2
Недавние в Quick Start синхронизируются с открытыми скриптами и показывают время.
Панель загрузок. список с прогрессом, паузой и отменой, открыть файл и показать в папке.
Панель закладок редактора. список по файлам, переход, удаление и очистка.
Выпуск 8.1.4
Робот в режиме «PHP на машине разработчика» снова запускается на Linux. продукт больше не указывает системному PHP, где искать расширения, поэтому модули, поставленные ОС, загружаются как раньше (скрипт умирал с «Unable to load dynamic library» / «Call to undefined function curl_init()»); на Windows собственные расширения…
Выпуск 8.1.5
встроенный Chromium снова принимает DOM/ввод из скрипта, если TEMP не %LocalAppData%\Temp (раньше ChromeDriver путал окно Studio с гостем).
ошибка загрузки страницы в тёмной теме больше не чёрным по тёмному. — текст светлый, фон как у студии.
относительный путь в командах «…from_file» разбирает хост от папки запущенного скрипта. — как в Windows-Studio, а не от того, что сам робот дописал к пути.
Исправлено: rar_folder() (folder_tools) - архивирует через folder->rar(), а не через bat с нерабочим ключом -mdE (архив не создавался) и без проверки кода; имя папки с подпапками больше не склеивается, Electron-копия помощника больше не зовёт…
PHP получила ту же рамку, что и Python. страница «PHP → Интерпретатор» с режимом запуска и снимком «что запустится сейчас» (галка «на машине разработчика» меняет его до Save); прежняя галка переехала туда с «Роботы → Общие».
Цикл над списком, записанным прямо в поле Values без отдельной переменной, проводится по одному разу на каждый элемент, а не один раз на весь список. шаг тела, который читает [item], больше не отказывает — проходов ровно столько, сколько элементов в списке.
Если Docker Desktop в момент запуска ещё просыпается, программа больше не объявляет его выключенным. окно говорит «ещё запускается», не предлагает от него отказаться и даёт кнопку «Проверить снова» без перезапуска, а PHP и Python не переключаются на хост по такому неверному ответу.
монитор ресурсов. — убрана плашка Captcha; в таблице все живые контейнеры роботов (метка/префикс), а не только те, у кого успел прийти docker stats.
дерево окон: в узкой панели заголовок узла больше не переносится и не печатается второй строкой поверх соседних узлов — узел держится одной строкой, длинное имя срезано многоточием, а целиком его видно во всплывающей подсказке.
дерево UI: панель больше не растягивает список хостов на всю свою высоту и не выталкивает дерево за нижнюю границу — дерево целиком видно в панели, а строка поиска и список хостов держат свою высоту; подписи узлов, как и в дереве окон, идут одной строкой с…
Помощник кода. дерево и сниппеты Windows и Electron собираются из одного описания — узлы «получить позицию курсора» и «щелкнуть правой кнопкой мыши» снова ведут к своим файлам, у узла «получить версию Windows» появились сниппеты и описание в обеих ставках, а…
помощник кода. под деревом показано описание выбранного узла — как в Windows-версии; у робота на Python описание на Python, а если скрипт не открыт — общий текст.
помощник кода. у ответа сервера появилась причина — если папка с готовыми фрагментами не установлена, такого узла в ней нет или файл фрагмента не читается, панель называет это прямо, а не прячет за «для этой конструкции нет сниппета на языке PY».
«не показывать при запуске» для стартовых диалогов переживает перезапуск. — отказ пишется в настройки, а не в профиль, который меняется при смене порта.
помощник кода. кнопка «найти конструкцию строки» подсвечивает в дереве узел, фрагмент которого стоит под курсором, — путь до него раскрывается сам, описание показывается сразу, а если строка есть в нескольких конструкциях, панель называет их число без модального окна.
Помощник кода. дерево узлов в Studio, Electron и поиске собирает один общий код — кривая иконка узла больше не обнуляет всё дерево, а раздел «Система» скрывается и в русском интерфейсе Electron на Linux и macOS.
Помощник кода. дерево в Electron читает тот же обходчик, что и Studio, корпус двух ставок синхронизирован (появился узел «получить версию Windows»), панель измеряется живым смоуком B39.
В диалоге настроек появилась страница «Python». режим запуска (встроенный контейнер или машина разработчика), папка с интерпретатором и снимок «что запустится сейчас», который переключается по галке сразу — до Save.
Выпуск 8.1.6
Координатная мышь снова двигает настоящий курсор. команды mouse_click, mouse_move_to, mouse_double_click и mouse_down/mouse_up ставят физический указатель в точку страницы в окне гостя — и в Studio 7, и в Electron.
запуск без окна (--without-frontend) больше не ждёт ответ панели отладки на каждую команду журнала. — робот не стоит по минуте на «Вывести».
в «Настройках → Главные → Окно и трей» появился счётчик «Количество последних файлов» (по умолчанию 20). — подменю «Файл → Последние» больше не обрезается десятью пунктами и перестраивается сразу после сохранения, без перезапуска.
панель «Git» (меню «Вид → Git») по выбранной текущей папке показывает ветку, список веток, изменённые файлы с построчным дифом и журнал коммитов. панель только читает — коммитить и переключать ветки из неё нельзя.
Аргументы init() логгера снова доезжают до движка. обёртка складывала параметры под ключами, которые диспетчер не читал, поэтому минимальный уровень записи, вывод в панель отладки и вызов через shell никогда не применялись.
<< Все возможности Human Emulator 8
Возможности основной версии 7.x
Что нового в Human Emulator 7