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

Worker

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

def handle_worker(worker):
print("worker created: " + worker.url)
worker.on("close", lambda: print("worker destroyed: " + worker.url))

page.on('worker', handle_worker)

print("current workers:")
for worker in page.workers:
print(" " + worker.url)

Методы​

evaluate​

Добавлено до версии v1.9 worker.evaluate

Возвращает значение, возвращаемое expression.

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

Если функция, переданная в worker.evaluate(), возвращает значение, не являющееся Serializable, то worker.evaluate() возвращает undefined. Playwright также поддерживает передачу некоторых дополнительных значений, которые не сериализуются через JSON: -0, NaN, Infinity, -Infinity.

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

worker.evaluate(expression)
worker.evaluate(expression, **kwargs)

Аргументы

  • expression str#

    JavaScript выражение для выполнения в контексте браузера. Если выражение оценивается как функция, функция автоматически вызывается.

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

    Опциональный аргумент для передачи в expression.

Возвращает


evaluate_handle​

Добавлено до версии v1.9 worker.evaluate_handle

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

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

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

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

worker.evaluate_handle(expression)
worker.evaluate_handle(expression, **kwargs)

Аргументы

  • expression str#

    JavaScript выражение для выполнения в контексте браузера. Если выражение оценивается как функция, функция автоматически вызывается.

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

    Опциональный аргумент для передачи в expression.

Возвращает


expect_event​

Добавлено в: v1.57 worker.expect_event

Ждёт срабатывания события и передаёт его значение в функцию-предикат. Возвращается, когда предикат возвращает truthy-значение. Выбросит ошибку, если страница будет закрыта до того, как событие сработает. Возвращает значение данных события.

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

with worker.expect_event("console") as event_info:
worker.evaluate("console.log(42)")
message = event_info.value

Аргументы

  • event str#

    Имя события — то же, которое обычно передают в *.on(event).

  • predicate Callable (опционально)#

    Получает данные события и возвращает truthy-значение, когда ожидание должно завершиться.

  • timeout float (опционально)#

    Максимальное время ожидания в миллисекундах. По умолчанию 30000 (30 секунд). Передайте 0, чтобы отключить таймаут. Значение по умолчанию можно изменить с помощью browser_context.set_default_timeout().

Возвращает


Свойства​

url​

Добавлено до версии v1.9 worker.url

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

worker.url

Возвращает


События​

on("close")​

Добавлено до версии v1.9 worker.on("close")

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

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

worker.on("close", handler)

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


on("console")​

Добавлено в: v1.57 worker.on("console")

Срабатывает, когда JavaScript внутри worker вызывает один из методов Console API, например console.log или console.dir.

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

worker.on("console", handler)

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