Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Latest
class JSHandle
Re-export
import { JSHandle } from "https://deno.land/x/puppeteer@16.2.0/vendor/puppeteer-core/puppeteer/types.d.ts";

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 JSHandle.dispose | 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.

Examples

Example 1

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

Constructors

new
JSHandle(
context: ExecutionContext,
client: CDPSession,
remoteObject: Protocol.Runtime.RemoteObject,
)

Type Parameters

optional
T = unknown

Properties

readonly
client: CDPSession
readonly
disposed: boolean
optional
[__JSHandleSymbol]: T

Used for nominally typing JSHandle.

Methods

asElement(): ElementHandle<any> | null
dispose(): Promise<void>

Releases the object referenced by the handle for garbage collection.

evaluate<Params extends unknown[], Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<[this, ...Params]>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>

Evaluates the given function with the current handle as its first argument.

evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<[this, ...Params]>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>

Evaluates the given function with the current handle as its first argument.

executionContext(): ExecutionContext
getProperties(): Promise<Map<string, JSHandle>>

Gets a map of handles representing the properties of the current handle.

getProperty<K extends keyof T>(propertyName: HandleOr<K>): Promise<HandleFor<T[K]>>

Fetches a single property from the referenced object.

getProperty(propertyName: string): Promise<JSHandle<unknown>>
jsonValue(): Promise<T>
remoteObject(): Protocol.Runtime.RemoteObject

Provides access to the Protocol.Runtime.RemoteObject backing this handle.

toString(): string

Returns a string representation of the JSHandle.