Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/fresh/tests/deps.ts>Page#evaluateHandle

The next-gen web framework.
Extremely Popular
Go to Latest
method Page.prototype.evaluateHandle
Re-export
import { Page } from "https://deno.land/x/fresh@1.6.3/tests/deps.ts";

Examples

Example 1

const aHandle = await page.evaluateHandle('document');

JSHandle instances can be passed as arguments to the pageFunction:

const aHandle = await page.evaluateHandle(() => document.body);
const resultHandle = await page.evaluateHandle(
  body => body.innerHTML,
  aHandle
);
console.log(await resultHandle.jsonValue());
await resultHandle.dispose();

Most of the time this function returns a JSHandle, but if pageFunction returns a reference to an element, you instead get an ElementHandle back:

Example 3

const button = await page.evaluateHandle(() =>
  document.querySelector('button')
);
// can call `click` because `button` is an `ElementHandle`
await button.click();

The TypeScript definitions assume that evaluateHandle returns a JSHandle, but if you know it's going to return an ElementHandle, pass it as the generic argument:

const button = await page.evaluateHandle<ElementHandle>(...);

Type Parameters

Params extends unknown[]
optional
Func extends EvaluateFunc<Params> = EvaluateFunc<Params>

Parameters

pageFunction: Func | string
  • a function that is run within the page
...args: Params
  • arguments to be passed to the pageFunction

Returns

Promise<HandleFor<Awaited<ReturnType<Func>>>>