Worker
Worker 類別代表 WebWorker。當頁面物件發出 worker 事件時,表示已建立 worker。當 worker 消失時,worker 物件會發出 close 事件。
page.onWorker(worker -> {
System.out.println("Worker created: " + worker.url());
worker.onClose(worker1 -> System.out.println("Worker destroyed: " + worker1.url()));
});
System.out.println("Current workers:");
for (Worker worker : page.workers())
System.out.println(" " + worker.url());
方法
evaluate
在 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, arg);
參數
-
要在瀏覽器環境中評估的 JavaScript 表達式。如果表達式評估為函式,則會自動調用該函式。
-
arg
EvaluationArgument (選用)#傳遞給 expression 的選用參數。
傳回
evaluateHandle
在 v1.9 之前新增以 JSHandle 形式傳回 expression 的傳回值。
Worker.evaluate() 和 Worker.evaluateHandle() 之間的唯一區別在於 Worker.evaluateHandle() 傳回 JSHandle。
如果傳遞給 Worker.evaluateHandle() 的函式傳回 Promise,則 Worker.evaluateHandle() 將等待 Promise 解析並傳回其值。
用法
Worker.evaluateHandle(expression);
Worker.evaluateHandle(expression, arg);
參數
-
要在瀏覽器環境中評估的 JavaScript 表達式。如果表達式評估為函式,則會自動調用該函式。
-
arg
EvaluationArgument (選用)#傳遞給 expression 的選用參數。
傳回
url
在 v1.9 之前新增用法
Worker.url();
傳回
waitForClose
新增於:v1.10執行動作並等待 Worker 關閉。
用法
Worker.waitForClose(callback);
Worker.waitForClose(callback, options);
參數
-
options
Worker.WaitForCloseOptions
(選用)-
setTimeout
double (選用)新增於:v1.9#等待的最大時間(以毫秒為單位)。預設值為
30000
(30 秒)。傳遞0
以停用逾時。可以使用 BrowserContext.setDefaultTimeout() 變更預設值。
-
-
執行觸發事件的動作的回呼函式。
傳回
事件
onClose(handler)
在 v1.9 之前新增當此專用的 WebWorker 終止時發出。
用法
Worker.onClose(handler)
事件資料