Worker
Класс Worker представляет собой WebWorker. Событие worker генерируется объектом page, чтобы сообщить о создании worker. Событие close генерируется объектом worker, когда worker завершает работу.
page.on('worker', worker => {
console.log('Worker created: ' + worker.url());
worker.on('close', worker => console.log('Worker destroyed: ' + worker.url()));
});
console.log('Current workers:');
for (const worker of page.workers())
console.log(' ' + worker.url()); Методы
evaluate
Добавлено до версии 1.9Возвращает возвращаемое значение pageFunction.
Если функция, переданная в worker.evaluate(), возвращает Promise, worker.evaluate() дождётся выполнения промиса и вернёт его значение.
Если функция, переданная в worker.evaluate(), возвращает значение, которое нельзя сериализовать (Serializable), worker.evaluate() возвращает undefined. Playwright также поддерживает передачу некоторых дополнительных значений, которые нельзя сериализовать с помощью JSON: -0, NaN, Infinity, -Infinity.
Использование
await worker.evaluate(pageFunction); await worker.evaluate(pageFunction, arg);
Аргументы
-
pageFunctionfunction | stringФункция, выполняемая в контексте worker.
-
argEvaluationArgument (необязательно)Необязательный аргумент, передаваемый в pageFunction.
Возвращает
evaluateHandle
Добавлено до версии 1.9Возвращает возвращаемое значение pageFunction в виде JSHandle.
Единственное различие между worker.evaluate() и worker.evaluateHandle() состоит в том, что worker.evaluateHandle() возвращает JSHandle.
Если функция, переданная в worker.evaluateHandle(), возвращает Promise, worker.evaluateHandle() дождётся выполнения промиса и вернёт его значение.
Использование
await worker.evaluateHandle(pageFunction); await worker.evaluateHandle(pageFunction, arg);
Аргументы
-
pageFunctionfunction | stringФункция, выполняемая в контексте worker.
-
argEvaluationArgument (необязательно)Необязательный аргумент, передаваемый в pageFunction.
Возвращает
url
Добавлено до версии 1.9Использование
worker.url();
Возвращает
waitForEvent
Ожидает наступления события и передаёт его значение функции-предикату. Возвращает результат, когда предикат возвращает истинное значение. Выбрасывает ошибку, если страница закрывается до наступления события. Возвращает данные события.
Использование
// Start waiting for download before clicking. Note no await.
const consolePromise = worker.waitForEvent('console');
await worker.evaluate('console.log(42)');
const consoleMessage = await consolePromise; Аргументы
-
eventstringИмя события, обычно передаваемое в
*.on(event). -
optionsOrPredicatefunction | Object (необязательно)-
predicatefunctionПолучает данные события и возвращает истинное значение, когда ожидание должно завершиться.
-
timeoutnumber (необязательно)Максимальное время ожидания в миллисекундах. По умолчанию
0— без тайм-аута. Значение по умолчанию можно изменить с помощью параметраactionTimeoutв конфигурации или методами browserContext.setDefaultTimeout() либо page.setDefaultTimeout().
Функция-предикат, получающая событие, или объект параметров. Необязательно.
-
-
optionsObject (необязательно)-
predicatefunction (необязательно)Получает данные события и возвращает истинное значение, когда ожидание должно завершиться.
-
signalAbortSignal (необязательно)Позволяет отменить ожидание с помощью
AbortSignal. Если сигнал прерван, ожидание будет отменено, а операция выбросит ошибку. Обратите внимание: передача сигнала не отключает тайм-аут по умолчанию. Его можно изменить с помощью browserContext.setDefaultTimeout(); передайтеtimeout: 0, чтобы полностью отключить тайм-аут.
-
Возвращает
События
on('close')
Добавлено до версии 1.9Генерируется при завершении работы этого выделенного WebWorker.
Использование
worker.on('close', data => {}); Данные события
on('console')
Генерируется, когда JavaScript внутри worker вызывает один из методов API console, например console.log или console.dir.
Использование
worker.on('console', data => {}); Данные события
© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-worker