JSHandle class
Represents a reference to a JavaScript object. Instances can be created using Page.evaluateHandle().
Handles prevent the referenced JavaScript object from being garbage-collected unless the handle is purposely disposed. JSHandles are auto-disposed when their associated frame is navigated away or the parent context gets destroyed.
Handles can be used as arguments for any evaluation function such as Page.$eval(), Page.evaluate(), and Page.evaluateHandle(). They are resolved to their referenced object.
Signature:
export declare abstract class JSHandle<T = unknown>
Remarks
The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the JSHandle
class.
Example
const windowHandle = await page.evaluateHandle(() => window);
Properties
Property | Modifiers | Type | Description |
---|---|---|---|
_ | optional | T | Used for nominally typing JSHandle. |
Methods
Method | Modifiers | Description |
---|---|---|
asElement() | Either null or the handle itself if the handle is an instance of ElementHandle. | |
dispose() | Releases the object referenced by the handle for garbage collection. | |
evaluate(pageFunction, args) | Evaluates the given function with the current handle as its first argument. | |
evaluateHandle(pageFunction, args) | Evaluates the given function with the current handle as its first argument. | |
getProperties() | Gets a map of handles representing the properties of the current handle. | |
getProperty(propertyName) | Fetches a single property from the referenced object. | |
getProperty(propertyName) | ||
jsonValue() | A vanilla object representing the serializable portions of the referenced object. | |
remoteObject() | Provides access to the Protocol.Runtime.RemoteObject backing this handle. | |
toString() | Returns a string representation of the JSHandle. |