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

x/pptr/src/JSHandle.ts>ElementHandle#$eval

Headless Chrome Deno API
Latest
method ElementHandle.prototype.$eval
import { ElementHandle } from "https://deno.land/x/pptr@1.2.0/src/JSHandle.ts";

This method runs document.querySelector within the element and passes it as the first argument to pageFunction. If there's no element matching selector, the method throws an error.

If pageFunction returns a Promise, then frame.$eval would wait for the promise to resolve and return its value.

Examples

Example 1

const tweetHandle = await page.$('.tweet');
expect(await tweetHandle.$eval('.like', node => node.innerText)).toBe('100');
expect(await tweetHandle.$eval('.retweets', node => node.innerText)).toBe('10');

Type Parameters

ReturnType

Parameters

selector: string
pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>