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

Worker

Класс Worker представляет WebWorker. Событие worker генерируется на объекте страницы для обозначения создания воркера. Событие close генерируется на объекте воркера, когда воркер завершает работу.

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

Возвращает значение, возвращаемое 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);

Аргументы

  • pageFunction function | string#

    Функция для выполнения в контексте воркера.

  • arg EvaluationArgument (опционально)#

    Необязательный аргумент для передачи в pageFunction.

Возвращает


evaluateHandle

Возвращает значение, возвращаемое pageFunction в виде JSHandle.

Единственное отличие между worker.evaluate() и worker.evaluateHandle() заключается в том, что worker.evaluateHandle() возвращает JSHandle.

Если функция, переданная в worker.evaluateHandle(), возвращает Promise, то worker.evaluateHandle() будет ожидать разрешения промиса и вернет его значение.

Использование

await worker.evaluateHandle(pageFunction);
await worker.evaluateHandle(pageFunction, arg);

Аргументы

  • pageFunction function | string#

    Функция для выполнения в контексте воркера.

  • arg EvaluationArgument (опционально)#

    Необязательный аргумент для передачи в pageFunction.

Возвращает


url

Использование

worker.url();

Возвращает


События

on('close')

Генерируется, когда данный выделенный WebWorker завершает работу.

Использование

worker.on('close', data => {});

Данные события