Worker
Класс Worker представляет WebWorker. Событие worker
генерируется на объекте страницы для сигнализации о создании воркера. Событие close
генерируется на объекте воркера, когда воркер завершает работу.
page.onWorker(worker -> {
System.out.println("Worker created: " + worker.url());
worker.onClose(worker1 -> System.out.println("Worker destroyed: " + worker1.url()));
});
System.out.println("Current workers:");
for (Worker worker : page.workers())
System.out.println(" " + worker.url());
Методы
evaluate
Добавлено до v1.9Возвращает возвращаемое значение expression.
Если функция, переданная в Worker.evaluate(), возвращает Promise, то Worker.evaluate() будет ожидать разрешения промиса и вернет его значение.
Если функция, переданная в Worker.evaluate(), возвращает значение, которое не является Serializable, то Worker.evaluate() возвращает undefined
. Playwright также поддерживает передачу некоторых дополнительных значений, которые не сериализуются через JSON
: -0
, NaN
, Infinity
, -Infinity
.
Использование
Worker.evaluate(expression);
Worker.evaluate(expression, arg);
Аргументы
-
JavaScript выражение для выполнения в контексте браузера. Если выражение оценивается как функция, функция автоматически вызывается.
-
arg
EvaluationArgument (опционально)#Опциональный аргумент для передачи в expression.
Возвращает
evaluateHandle
Добавлено до v1.9Возвращает возвращаемое значение expression как JSHandle.
Единственное отличие между Worker.evaluate() и Worker.evaluateHandle() заключается в том, что Worker.evaluateHandle() возвращает JSHandle.
Если функция, переданная в Worker.evaluateHandle(), возвращает Promise, то Worker.evaluateHandle() будет ожидать разрешения промиса и вернет его значение.
Использование
Worker.evaluateHandle(expression);
Worker.evaluateHandle(expression, arg);
Аргументы
-
JavaScript выражение для выполнения в контексте браузера. Если выражение оценивается как функция, функция автоматически вызывается.
-
arg
EvaluationArgument (опционально)#Опциональный аргумент для передачи в expression.
Возвращает
url
Добавлено до v1.9Использование
Worker.url();
Возвращает
waitForClose
Добавлено в: v1.10Выполняет действие и ожидает закрытия Worker.
Использование
Worker.waitForClose(callback);
Worker.waitForClose(callback, options);
Аргументы
-
options
Worker.WaitForCloseOptions
(опционально)-
setTimeout
double (опционально) Добавлено в: v1.9#Максимальное время ожидания в миллисекундах. По умолчанию
30000
(30 секунд). Передайте0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить, используя BrowserContext.setDefaultTimeout().
-
-
callback
Runnable Добавлено в: v1.9#Callback, который выполняет действие, вызывающее событие.
Возвращает
События
onClose(handler)
Добавлено до v1.9Генерируется, когда этот выделенный WebWorker завершает работу.
Использование
Worker.onClose(handler)
Данные события