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 的实例,则为 | |
dispose() | 释放句柄引用的对象以进行垃圾回收。 | |
evaluate(pageFunction, args) | 使用当前句柄作为其第一个参数评估给定的函数。 | |
evaluateHandle(pageFunction, args) | 使用当前句柄作为其第一个参数评估给定的函数。 | |
getProperties() | 获取表示当前句柄属性的句柄映射。 | |
getProperty(propertyName) | 从引用的对象中获取单个属性。 | |
getProperty(propertyName) | ||
jsonValue() | 一个表示引用对象的序列化部分的原生对象。 备注 如果对象有 | |
remoteObject() | 提供对此句柄支持的 Protocol.Runtime.RemoteObject 的访问权限。 | |
toString() | 返回 JSHandle 的字符串表示形式。 备注 在调试期间很有用。 |