Skip to Content

Выполнить JS

Eng: Execute JS

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

Поддержка версий Manifest

Для Manifest V2:

// Строгая сигнатура (обязательно): function(element, argumentFromRobot, discard) { // element - DOM-элемент // argumentFromRobot - входной параметр // discard - флаг отмены return "result"; }

Для Manifest V3 (с версии 1.25.5+):

// Все варианты допустимы: function(el, val) { ... } // элемент + значение function(v) { ... } // только значение function() { ... } // без аргументов (el и v доступны автоматически) // Или просто код: el.value = v; return true;

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

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

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

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

⚠️ Важно! Примечания о версиях:

С 25.1: Manifest V3 требует перезагрузки страницы для выполнения скриптов

С 25.5:

  • V3 поддерживает гибкую сигнатуру (0-3 аргумента)
  • V2 сохраняет требование строгой сигнатуры
  • Добавлена валидация синтаксиса скриптов.

Свойства

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

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

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

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

  1. Скрипт* [String] — скрипт, который следует выполнить. Кавычки внутри строки требуется экранировать.

Для Manifest V2 (строгая сигнатура):

function(element, argumentFromRobot, discard) { // element - DOM-элемент (обязательно) // argumentFromRobot - значение из свойства "Аргумент" (обязательно) // discard - флаг отмены выполнения (обязательно) return "result"; }

Manifest V3 (поддерживаемые варианты):

// 1. С явными аргументами: function(el, val) { // el - элемент, val - значение аргумента return el.value = val; } // 2. С одним аргументом: function(v) { // v - значение аргумента (элемент доступен как 'el') return el.innerText + v; } // 3. Без аргументов (используйте автоматические переменные): el.value = v; // el - элемент, v - значение аргумента return true; // 4. Полная форма (аналогично V2): function(a,b,c) { ... }
  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);