跳到主要內容

Worker

Worker 類別代表一個 WebWorkerworker 事件會在頁面物件上發射以表示工作執行緒的建立。 close 事件會在工作執行緒物件消失時發射。

def handle_worker(worker):
print("worker created: " + worker.url)
worker.on("close", lambda: print("worker destroyed: " + worker.url))

page.on('worker', handle_worker)

print("current workers:")
for worker in page.workers:
print(" " + worker.url)

方法

評估

在 v1.9 之前加入 worker.evaluate

傳回 expression 的傳回值。

如果傳遞給 worker.evaluate() 的函式傳回一個 Promise,則 worker.evaluate() 將等待 Promise 解析並傳回其值。

如果傳遞給 worker.evaluate() 的函式傳回一個非 Serializable 值,則 worker.evaluate() 會傳回 undefined。Playwright 也支援傳輸一些額外的非 JSON 可序列化的值:-0NaNInfinity-Infinity

用法

worker.evaluate(expression)
worker.evaluate(expression, **kwargs)

參數

  • expression str#

    要在瀏覽器環境中評估的 JavaScript 表達式。如果表達式評估為函式,則會自動調用該函式。

  • arg EvaluationArgument (選用)#

    傳遞給 expression 的選用參數。

傳回


評估控制代碼

在 v1.9 之前加入 worker.evaluate_handle

JSHandle 形式傳回 expression 的傳回值。

worker.evaluate()worker.evaluate_handle() 之間的唯一區別在於 worker.evaluate_handle() 傳回 JSHandle

如果傳遞給 worker.evaluate_handle() 的函式傳回一個 Promise,則 worker.evaluate_handle() 將等待 Promise 解析並傳回其值。

用法

worker.evaluate_handle(expression)
worker.evaluate_handle(expression, **kwargs)

參數

  • expression str#

    要在瀏覽器環境中評估的 JavaScript 表達式。如果表達式評估為函式,則會自動調用該函式。

  • arg EvaluationArgument (選用)#

    傳遞給 expression 的選用參數。

傳回


屬性

url

在 v1.9 之前加入 worker.url

用法

worker.url

傳回


事件

on("close")

在 v1.9 之前加入 worker.on("close")

當此專用的 WebWorker 終止時發射。

用法

worker.on("close", handler)

事件資料