跳至主要内容

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)

方法

评估

Added before v1.9 worker.evaluate

返回expression的返回值。

如果传递给worker.evaluate()的函数返回一个Promise,那么worker.evaluate()将等待该promise解析并返回其值。

如果传递给worker.evaluate()的函数返回一个非Serializable值,那么worker.evaluate()会返回undefined。Playwright还支持传输一些无法通过JSON序列化的额外值:-0NaNInfinity-Infinity

用法

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

参数

  • expression str#

    要在浏览器上下文中评估的JavaScript表达式。如果表达式评估为一个函数,该函数将自动调用。

  • arg EvaluationArgument (可选)#

    可选的参数传递给 expression

返回


evaluate_handle

Added before v1.9 worker.evaluate_handle

expression的返回值作为JSHandle返回。

worker.evaluate()worker.evaluate_handle() 之间的唯一区别在于 worker.evaluate_handle() 会返回 JSHandle

如果传递给worker.evaluate_handle()的函数返回一个Promise,那么worker.evaluate_handle()将等待该Promise解析并返回其值。

用法

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

参数

  • expression str#

    要在浏览器上下文中评估的JavaScript表达式。如果表达式评估为一个函数,该函数将自动调用。

  • arg EvaluationArgument (可选)#

    可选的参数传递给 expression

返回


属性

网址

Added before v1.9 worker.url

用法

worker.url

返回


事件

on("close")

Added before v1.9 worker.on("close")

当这个专用的WebWorker被终止时触发。

用法

worker.on("close", handler)

事件数据