Skip to Content

Выполнить JS

Eng: Execute JS

Элемент запускает JavaScript-код в веб-браузере. Элемент может применяться для изменения содержимого страницы, взаимодействия с данными и эмуляции действий пользователя.

Для надежности рекомендуется использовать элемент в контейнере Открыть браузер либо в контейнере Присоединиться к браузеру. Тип браузера указывается в свойствах выбранного контейнера.

Элемент Выполнить JS

Перед началом работы

Убедитесь, что у вас установлено расширение браузера Primo RPA extension.

Начиная с версии 25.1, активность ‘Выполнить запрос’ (ExecuteJS) в расширениях, использующих Manifest V3, была адаптирована к новым требованиям политик безопасности Chromium. Для обеспечения корректной работы и возможности добавления пользовательского скрипта, перед его выполнением активность теперь автоматически перезагружает страницу. Этот механизм необходим для интеграции пользовательских скриптов в соответствии с ограничениями Manifest V3.

Свойства

Символ * в названии свойства указывает на обязательность. Описание общих свойств см. в разделе Свойства элемента.

Группа «Вывод»:

  • Результат [String] — название переменной, в которую будет сохранен результат работы скрипта.

Группа «Процесс»:

  1. Скрипт* [String] — скрипт, который следует выполнить. Кавычки внутри строки требуется экранировать. Если скрипт объявляет функцию, то следует придерживаться строгой сигнатуры:
function test(element, argumentFromRobot, discard) { alert(argumentFromRobot); return null; }

где argumentFromRobot — это переданный аргумент из робота. Порядок аргументов обязателен! ⚠️ Ошибка при передаче неправильного количества аргументов может привести к некорректной работе активности.

  • Порядок аргументов обязателен! Названия не важны, но аргументы должны передаваться в нужном порядке.
  • Допустим альтернативный синтаксис (только для Manifest V3), в котором доступные аргументы el и v объявлены неявно:
alert(v); return null;
  1. Таймаут* [Int32] — предельное время ожидания завершения процесса, значение указывается в миллисекундах. По умолчанию 10000.

Группа «Функция»:

  1. Аргумент [String] — работает только с включенным свойством Функция. Укажите в этом поле аргумент функции. Аргументом может быть либо конкретное значение (например, "hello"), либо строковая переменная. Можно использовать только один аргумент.

  2. Функция [Boolean] — определяет, содержит ли скрипт функцию. По умолчанию чекбокс отключен — функция не используется.

  3. Шаблон поиска — свойство позволяет выбрать элемент управления веб-страницы, на котором нужно применить скрипт. Для быстрого формирования шаблона рекомендуется использовать инструмент Волшебная палочка. Подробнее о шаблоне поиска можно узнать здесь.

    Иконка волшебной палочки

  4. Элемент [LTools.WebBrowser.Model.IElementInfo] — в этом свойстве можно указать переменную, содержащую ссылку на веб-элемент управления.

    Как ее получить:

    • В сценарии сначала используем компонент Присутствие элемента. В этом компоненте, в свойстве вывода Элемент, указываем переменную с типом UIControl — она сохранит ссылку на найденный элемент управления.

    • В элементе Выполнить JS, в свойстве Элемент, открываем редактор кода и указываем <название переменной>.BrowserElement.

      Как открыть редактор кода

Только код

Пример использования элемента в процессе с типом Только код (Pure code):

LTools.WebBrowser.BrowserApp app = LTools.WebBrowser.BrowserApp.Init(wf, "Test page*", LTools.WebBrowser.Model.BrowserTypes_Short.IE); app.Eval("script", 10000);