Документация 0.4 Справочник действий

Выполнить JavaScript

browser.evaluate · Браузер

Выполняет скрипт на странице и возвращает результат

Выполняет JavaScript на открытой странице и возвращает результат: собрать таблицу целиком, прочитать данные, до которых трудно добраться селекторами, прокрутить страницу. Для обычных кликов и ввода пользуйтесь специальными действиями — они сами ждут элементы.

Свойства #

Свойство Имя в файле Значение Обязательное По умолчанию Описание
Скрипт script многострочный текст да — Выражение (document.title) или функция (() => …); результат — число, строка, массив или объект
Сессия session текст нет main Имя сессии браузера (по умолчанию main); несколько сессий — несколько окон

Результат #

Значение выхода сохраняется в переменную, выбранную для него в свойствах шага (раздел выходов).

Выход Имя в файле
Результат result

Как работает #

  • Скрипт (script) — выражение (document.title) или функция (() => [...document.querySelectorAll('tr')].map(r => r.innerText)). Скрипт выполняется в странице, переменные процесса в нём недоступны — значения подставляйте через {{ }} (текст — в кавычках: '{{ number }}').
  • Выход Результат — число, строка, да/нет, список или объект; DOM-элементы вернуть нельзя.
  • Сессия (session, по умолчанию main) — имя окна браузера, открытого browser.open. Нужно, только если процесс работает с несколькими окнами сразу.

Ошибки #

Код Причина и что делать
BrowserError Ошибка в скрипте страницы (сообщение JavaScript в тексте ошибки); сессия не открыта

Пример #

Собрать строки таблицы:

{
  "type": "browser.evaluate",
  "props": { "script": "() => [...document.querySelectorAll('#orders tbody tr')].map(r => r.cells[0].innerText)" },
  "out": { "result": "orderNumbers" }
}