Перейти до основного вмісту

executeAsync

попередження

Команда executeAsync застаріла і буде видалена в майбутніх версіях. Будь ласка, використовуйте команду execute, оскільки вона забезпечує кращу підтримку обробки помилок через async/await.

Вставляє фрагмент JavaScript в сторінку для виконання в контексті поточно вибраного фрейму. Виконаний скрипт вважається асинхронним і повинен сигналізувати про завершення шляхом виклику наданого зворотного виклику, який завжди надається як останній аргумент функції. Значення для цього зворотного виклику буде повернуто клієнту.

Команди асинхронного скрипту не можуть охоплювати завантаження сторінок. Якщо під час очікування результату скрипту відбувається подія вивантаження, клієнту має бути повернута помилка.

Аргумент скрипту визначає скрипт для виконання у формі тіла функції. Функція буде викликана з наданим масивом аргументів, і значення можна отримати через об'єкт arguments у зазначеному порядку. Останнім аргументом завжди буде функція зворотного виклику, яку потрібно викликати, щоб сигналізувати про завершення скрипту.

Аргументи можуть бути будь-яким JSON-примітивом, масивом або JSON-об'єктом. JSON-об'єкти, які визначають посилання WebElement, будуть перетворені на відповідний DOM-елемент. Так само, будь-які WebElements у результаті скрипту будуть повернуті клієнту як JSON-об'єкти WebElement.

обережно

Будь ласка, використовуйте execute замість цього

Використання
browser.executeAsync(script, arguments)
Параметри
НазваТипДеталі
scriptString, FunctionСкрипт для виконання.
arguments
опціонально
*аргументи скрипту
Приклад
executeAsync.js
it('should execute async JavaScript on the page', async () => {
await browser.setTimeout({ script: 5000 })
const result = await browser.executeAsync(function(a, b, c, d, done) {
// browser context - you may not access client or console
setTimeout(() => {
done(a + b + c + d)
}, 3000);
}, 1, 2, 3, 4)
// node.js context - client and console are available
console.log(result) // outputs: 10
});
Повертає
  • <*> return: Результат скрипту.

Welcome! How can I help?

WebdriverIO AI Copilot