Выполнить JS
Eng: Execute JS
Элемент запускает JavaScript-код в веб-браузере. Элемент может применяться для изменения содержимого страницы, взаимодействия с данными и эмуляции действий пользователя.
Для надежности рекомендуется использовать элемент в контейнере Открыть браузер либо в контейнере Присоединиться к браузеру. Тип браузера указывается в свойствах выбранного контейнера.
Перед началом работы
Убедитесь, что у вас установлено расширение браузера Primo RPA extension.
Начиная с версии 25.1, активность ‘Выполнить запрос’ (ExecuteJS) в расширениях, использующих Manifest V3, была адаптирована к новым требованиям политик безопасности Chromium. Для обеспечения корректной работы и возможности добавления пользовательского скрипта, перед его выполнением активность теперь автоматически перезагружает страницу. Этот механизм необходим для интеграции пользовательских скриптов в соответствии с ограничениями Manifest V3.
Свойства
Символ *
в названии свойства указывает на обязательность. Описание общих свойств см. в разделе Свойства элемента.
Группа «Вывод»:
- Результат [String] — название переменной, в которую будет сохранен результат работы скрипта.
Группа «Процесс»:
- Скрипт* [String] — скрипт, который следует выполнить. Кавычки внутри строки требуется экранировать. Если скрипт объявляет функцию, то следует придерживаться строгой сигнатуры:
function test(element, argumentFromRobot, discard) {
alert(argumentFromRobot);
return null;
}
где argumentFromRobot — это переданный аргумент из робота. Порядок аргументов обязателен! ⚠️ Ошибка при передаче неправильного количества аргументов может привести к некорректной работе активности.
- Порядок аргументов обязателен! Названия не важны, но аргументы должны передаваться в нужном порядке.
- Допустим альтернативный синтаксис (только для Manifest V3), в котором доступные аргументы
el
иv
объявлены неявно:
alert(v);
return null;
- Таймаут* [Int32] — предельное время ожидания завершения процесса, значение указывается в миллисекундах. По умолчанию
10000
.
Группа «Функция»:
-
Аргумент [String] — работает только с включенным свойством Функция. Укажите в этом поле аргумент функции. Аргументом может быть либо конкретное значение (например,
"hello"
), либо строковая переменная. Можно использовать только один аргумент. -
Функция [Boolean] — определяет, содержит ли скрипт функцию. По умолчанию чекбокс отключен — функция не используется.
-
Шаблон поиска — свойство позволяет выбрать элемент управления веб-страницы, на котором нужно применить скрипт. Для быстрого формирования шаблона рекомендуется использовать инструмент Волшебная палочка. Подробнее о шаблоне поиска можно узнать здесь.
-
Элемент [LTools.WebBrowser.Model.IElementInfo] — в этом свойстве можно указать переменную, содержащую ссылку на веб-элемент управления.
Как ее получить:
-
В сценарии сначала используем компонент Присутствие элемента. В этом компоненте, в свойстве вывода Элемент, указываем переменную с типом UIControl — она сохранит ссылку на найденный элемент управления.
-
В элементе Выполнить JS, в свойстве Элемент, открываем редактор кода и указываем
<название переменной>.BrowserElement
.
-
Только код
Пример использования элемента в процессе с типом Только код (Pure code):
C#
LTools.WebBrowser.BrowserApp app =
LTools.WebBrowser.BrowserApp.Init(wf, "Test page*",
LTools.WebBrowser.Model.BrowserTypes_Short.IE); app.Eval("script", 10000);