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);
屬性
屬性 | 修飾符 | 類型 | 描述 |
---|---|---|---|
_ |
| T | 用於名義上輸入 JSHandle。 |
move | () => this |
方法
方法 | 修飾符 | 描述 |
---|---|---|
asElement() | 如果句柄是 ElementHandle 的實例,則為 | |
dispose() | 釋放句柄所引用的物件,以進行垃圾回收。 | |
evaluate(pageFunction, args) | 使用目前的句柄作為其第一個參數來評估給定的函數。 | |
evaluateHandle(pageFunction, args) | 使用目前的句柄作為其第一個參數來評估給定的函數。 | |
getProperties() | 取得表示目前句柄屬性的句柄映射。 | |
getProperty(propertyName) | 從引用的物件提取單一屬性。 | |
getProperty(propertyName) | ||
jsonValue() | 表示所引用物件的可序列化部分的原始物件。 備註 如果物件具有 | |
remoteObject() | 提供對支援此句柄的 Protocol.Runtime.RemoteObject 的存取權。 | |
toString() | 傳回 JSHandle 的字串表示。 備註 在除錯期間很有用。 |