execute
Вставляет фрагмент JavaScript в страницу для выполнения в контексте текущего выбранного фрейма, используя данный элемент как область видимости. Поскольку это выполняется в области видимости элемента, WebdriverIO автоматически дождется существования элемента перед выполнением скрипта. Предполагается, что выполняемый скрипт синхронный, и результат выполнения скрипта возвращается клиенту.
Аргумент script определяет скрипт для выполнения в форме тела функции. Значение, возвращаемое этой функцией, будет возвращено клиенту. Функция будет вызвана с предоставленным массивом args, и значения могут быть доступны через объект arguments в указанном порядке.
Аргументы могут быть любыми JSON-примитивами, массивами или JSON-объектами. JSON-объекты, которые определяют ссылку на WebElement, будут преобразованы в соответствующий DOM-элемент. Аналогично, любые WebElements в результате скрипта будут возвращены клиенту как JSON-объекты WebElement.
Usage
$(selector).execute(script, arguments)
Parameters
Name | Type | Details |
---|---|---|
script | String, Function | Скрипт для выполнения. |
arguments optional | * | аргументы скрипта |
Example
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
: Результат выполнения скрипта.