Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Go to Latest
method Page.prototype.evaluateHandle
import { Page } from "https://deno.land/x/puppeteer@14.1.1/vendor/puppeteer-core/puppeteer/common/Page.js";

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

optional
HandlerType extends JSHandle = JSHandle

Parameters

pageFunction: EvaluateHandleFn
  • a function that is run within the page
  • arguments to be passed to the pageFunction