Worker
Worker 类表示一个 WebWorker。worker 事件在页面对象上发出以发出 worker 创建信号。当 worker 消失时,close 事件在 worker 对象上发出。
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());
- worker.on('close')
- worker.evaluate(pageFunction[, arg])
- worker.evaluateHandle(pageFunction[, arg])
- worker.url()
worker.on('close')
Added in: v1.8- type: <Worker>
当该专用的 WebWorker 被终止时触发。
worker.evaluate(pageFunction[, arg])
Added in: v1.8pageFunction<function|string> 要在 worker 上下文中执行的函数。#arg?<EvaluationArgument> 传递给pageFunction的可选参数。#- returns: <Promise<Serializable>>#
返回 pageFunction 的执行结果。
如果传给 worker.evaluate(pageFunction[, arg]) 的函数返回一个 Promise,则该方法会等待 Promise 完成并返回其值。
如果该函数返回一个非 Serializable 值,则 worker.evaluate(pageFunction[, arg]) 会返回 undefined。Playwright 还支持传输一些 JSON 无法序列化的额外值:-0、NaN、Infinity、-Infinity。
worker.evaluateHandle(pageFunction[, arg])
Added in: v1.8pageFunction<function|string> 要在 worker 上下文中执行的函数。#arg?<EvaluationArgument> 传递给pageFunction的可选参数。#- returns: <Promise<JSHandle>>#
将 pageFunction 的返回值作为 JSHandle 返回。
worker.evaluate(pageFunction[, arg]) 与 worker.evaluateHandle(pageFunction[, arg]) 的唯一区别是后者返回一个 JSHandle。
如果传给 worker.evaluateHandle(pageFunction[, arg]) 的函数返回一个 Promise,则该方法会等待 Promise 完成并返回其值。