Перейти к основному содержимому

execute

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

Аргумент script определяет скрипт для выполнения в форме тела функции. Значение, возвращаемое этой функцией, будет возвращено клиенту. Функция будет вызвана с предоставленным массивом args, и значения могут быть доступны через объект arguments в указанном порядке.

Аргументы могут быть любыми JSON-примитивами, массивами или JSON-объектами. JSON-объекты, которые определяют ссылку на WebElement, будут преобразованы в соответствующий DOM-элемент. Аналогично, любые WebElements в результате скрипта будут возвращены клиенту как JSON-объекты WebElement.

Usage
$(selector).execute(script, arguments)
Parameters
NameTypeDetails
scriptString, FunctionСкрипт для выполнения.
arguments
optional
*аргументы скрипта
Example
execute.js
it('should wait for the element to exist, then executes javascript on the page with the element as first argument', async () => {
const text = await $('div').execute((elem, a, b, c, d) => {
return elem.textContent + a + b + c + d
}, 1, 2, 3, 4);
// node.js context - client and console are available
console.log(text); // outputs "Hello World1234"
});
Returns
  • <*> return: Результат выполнения скрипта.

Welcome! How can I help?

WebdriverIO AI Copilot