跳至主要內容
版本:23.11.1

JSHandle 類別

表示對 JavaScript 物件的參考。實例可以使用 Page.evaluateHandle() 建立。

除非刻意 處置,否則句柄會阻止引用的 JavaScript 物件被垃圾回收。當相關的 frame 導航離開或父上下文被銷毀時,JSHandle 會自動處置。

句柄可以用作任何評估函數的參數,例如 Page.$eval()Page.evaluate()Page.evaluateHandle()。它們會解析為它們引用的物件。

簽名

export declare abstract class JSHandle<T = unknown>

備註

此類別的建構子標記為內部。第三方程式碼不應直接呼叫建構子或建立擴展 JSHandle 類別的子類別。

範例

const windowHandle = await page.evaluateHandle(() => window);

屬性

屬性

修飾符

類型

描述

_

optional

T

用於名義上輸入 JSHandle

move

() => this

方法

方法

修飾符

描述

asElement()

如果句柄是 ElementHandle 的實例,則為 null 或句柄本身。

dispose()

釋放句柄所引用的物件,以進行垃圾回收。

evaluate(pageFunction, args)

使用目前的句柄作為其第一個參數來評估給定的函數。

evaluateHandle(pageFunction, args)

使用目前的句柄作為其第一個參數來評估給定的函數。

getProperties()

取得表示目前句柄屬性的句柄映射。

getProperty(propertyName)

從引用的物件提取單一屬性。

getProperty(propertyName)
jsonValue()

表示所引用物件的可序列化部分的原始物件。

備註

如果物件具有 toJSON 函數,則 **不會** 呼叫它。

remoteObject()

提供對支援此句柄的 Protocol.Runtime.RemoteObject 的存取權。

toString()

傳回 JSHandle 的字串表示。

備註

在除錯期間很有用。