Puppeteer 中文文档v25.8.0

WebWorker 类

此类表示一个 WebWorker

签名

export declare abstract class WebWorker extends EventEmitter<WebWorkerEvents>

继承自: EventEmitter<WebWorkerEvents>

备注

workercreatedworkerdestroyed 事件在页面对象上触发,用于表示工作线程的生命周期。

此类的构造函数被标记为内部。第三方代码不应直接调用构造函数,也不应创建扩展 WebWorker 类的子类。

示例

page.on('workercreated', worker =>
  console.log('Worker created: ' + worker.url()),
);
page.on('workerdestroyed', worker =>
  console.log('Worker destroyed: ' + worker.url()),
);

console.log('Current workers:');
for (const worker of page.workers()) {
  console.log('  ' + worker.url());
}

属性

属性

修饰符

类型

说明

client

readonly

CDPSession

该 WebWorker 所属的 CDP 会话客户端。

方法

方法

修饰符

说明

close()

evaluate(func, args)

工作线程中求值给定的函数。

备注:

如果给定函数返回一个 promise,evaluate 将等待该 promise 解析。

一般来说,如果给定函数的返回值比 JSON 对象更复杂(例如大多数类),那么 evaluate 将_可能_返回某个截断的值(或 {})。这是因为我们返回的不是实际的返回值,而是通过协议将返回值传输到 Puppeteer 后得到的反序列化版本。

通常,如果 evaluate 无法正确序列化返回值,或者你需要指向返回对象的可变 handle,则应使用 evaluateHandle

evaluateHandle(func, args)

工作线程中求值给定的函数。

备注:

如果给定函数返回一个 promise,evaluate 将等待该 promise 解析。

通常,如果 evaluate 无法正确序列化返回值,或者你需要指向返回对象的可变 handle,则应使用 evaluateHandle

url()

此 Web Worker 的 URL。

waitForFunction(workerFunction, options, args)

等待所提供函数 workerFunction 在页面上下文中求值时返回真值。