跳到主要內容

Worker

Worker 類別代表 WebWorker。當頁面對象發出 worker 建立訊號時,會觸發 worker 事件。當 worker 消失時,會在 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());

方法

evaluate

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

參數

傳回


url

Added before v1.9 worker.url

用法

worker.url();

傳回


事件

on('close')

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

當此專用 WebWorker 終止時觸發。

用法

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

事件資料