Со страницы → файл робота
Ассистент может открыть сайт во встроенном браузере, снять DOM и собрать робота на диске (PHP или Python). Клики агента в чате — разведка; робот — скрипт с init → navigate → wait_js → тело → quit.
harvest → build_script (PHP и Python, проверено)
- Режим Code, папка проекта задана.
- Пример: «Открой ya.ru,
harvest_locators, собери скриптbuild_script, сохрани и запусти.» - Ожидание: скрипт с
navigate+wait_js+quit(PHP или Python); лог без[ERROR]. - Только заголовок (
saveTitleFile=ya_title.txt): harvest-клики в скрипт не попадают — файл пишет самbuild_script.
Сниппеты harvest — на языке, выбранном в композере (PHP по умолчанию).
Запись кликов
start_recording → клики в браузере Studio → get_recording показывает вызовы XHE API (как Действия → Начать запись). Затем build_script в Code сохраняет робота.
Проверено в харнессе: агент вызывает start_recording, черновик с navigate попадает в get_recording. Полный путь «клик мышью в эмуляторе → готовый робот» в панели Studio лучше прогнать вручную после обновления.
WALKTHROUGH и assert
После зелёного run_script Studio пишет WALKTHROUGH.md (скрипт, URL, хвост лога). Повтор без модели: /replay — композер.
В PLAN.md строка Assert: contains: … — после run verify может проверить текст на странице (assert_page).
iframe (PHP и Python, проверено)
Для клика внутри фрейма укажите frame=0 (или нужный индекс) у click_by_attribute / click_by_inner_text. Пример: открыть frame.html полигона, кликнуть кнопку в iframe, записать артефакт в data/. На Python — те же методы после from init import * (button.click_by_attribute(..., 0)).
Подробнее о фреймах в ручном коде: ожидание и фреймы.