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返回expression的返回值。
如果传递给worker.evaluate()的函数返回一个Promise,那么worker.evaluate()将等待该promise解析并返回其值。
如果传递给worker.evaluate()的函数返回一个非Serializable值,那么worker.evaluate()会返回undefined
。Playwright还支持传输一些无法通过JSON
序列化的额外值:-0
、NaN
、Infinity
、-Infinity
。
用法
worker.evaluate(expression)
worker.evaluate(expression, **kwargs)
参数
-
要在浏览器上下文中评估的JavaScript表达式。如果表达式评估为一个函数,该函数将自动调用。
-
arg
EvaluationArgument (可选)#可选的参数传递给 expression。
返回
evaluate_handle
Added before v1.9将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)
参数
-
要在浏览器上下文中评估的JavaScript表达式。如果表达式评估为一个函数,该函数将自动调用。
-
arg
EvaluationArgument (可选)#可选的参数传递给 expression。
返回
属性
网址
Added before v1.9用法
worker.url
返回
事件
on("close")
Added before v1.9当这个专用的WebWorker被终止时触发。
用法
worker.on("close", handler)
事件数据