跳至主要内容

Worker

Worker类代表一个WebWorker。当创建工作线程时,会在页面对象上触发worker事件。当工作线程结束时,会在工作线程对象上触发close事件。

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());

方法

评估

Added before v1.9 worker.evaluate

返回pageFunction的返回值。

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

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

用法

await worker.evaluate(pageFunction);
await worker.evaluate(pageFunction, arg);

参数

返回


evaluateHandle

Added before v1.9 worker.evaluateHandle

pageFunction的返回值作为JSHandle返回。

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

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

用法

await worker.evaluateHandle(pageFunction);
await worker.evaluateHandle(pageFunction, arg);

参数

返回


网址

Added before v1.9 worker.url

用法

worker.url();

返回


事件

on('close')

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

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

用法

worker.on('close', data => {});

事件数据