Latest
method ElementHandle.prototype.$eval
import { ElementHandle } from "https://dotland.deno.dev/x/puppeteer@16.2.0/vendor/puppeteer-core/puppeteer/types.d.ts";

Runs the given function on the first element matching the given selector in the current element.

If the given function returns a promise, then this method will wait till the promise resolves.

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

Selector extends string
Params extends unknown[]
optional
Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>

Parameters

selector: Selector
  • The selector to query for.
pageFunction: Func | string
  • The function to be evaluated in this element's page's context. The first element matching the selector will be passed in as the first argument.
...args: Params
  • Additional arguments to pass to pageFunction.

Returns

Promise<Awaited<ReturnType<Func>>>

A promise to the result of the function.