JSHandle 类
表示对 JavaScript 对象的引用。可以使用 Page.evaluateHandle() 创建实例。
句柄防止引用的 JavaScript 对象被垃圾回收,除非该句柄被故意 释放。当关联的框架导航离开或父上下文被销毁时,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 的实例,则为 null 或句柄本身。 | |
dispose() | 释放句柄引用的对象以便进行垃圾回收。 | |
evaluate(pageFunction, args) | 使用当前句柄作为其第一个参数来评估给定函数。 | |
evaluateHandle(pageFunction, args) | 使用当前句柄作为其第一个参数来评估给定函数。 | |
getProperties() | 获取表示当前句柄的属性的句柄映射。 | |
getProperty(propertyName) | 从引用的对象中获取单个属性。 | |
getProperty(propertyName) | ||
jsonValue() | 表示引用的对象的序列化部分的普通对象。 | |
remoteObject() | 提供对 Protocol.Runtime.RemoteObject 的访问,该对象支持此句柄。 | |
toString() | 返回 JSHandle 的字符串表示形式。 |