Module

x/puppeteer/mod.ts>JSHandle

A port of puppeteer running on Deno
Latest
class JSHandle
import { JSHandle } from "https://dotland.deno.dev/x/puppeteer@16.2.0/mod.ts";

Represents a reference to a JavaScript object. Instances can be created using {@link Page.evaluateHandle}.

Handles prevent the referenced JavaScript object from being garbage-collected unless the handle is purposely {@link 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 {@link Page.$eval}, {@link Page.evaluate}, and {@link 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 {@link 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.

import JSHandle
import { JSHandle } from "https://dotland.deno.dev/x/puppeteer@16.2.0/mod.ts";

Copyright 2020 Google Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.