puppeteer/docs/api/puppeteer.frame.__eval.md

1.2 KiB

sidebar_label
Frame.$$eval

Frame.$$eval() method

Signature:

class Frame {$$eval<Selector extends keyof HTMLElementTagNameMap, Params extends unknown[], Func extends EvaluateFunc<[
        HTMLElementTagNameMap[Selector][],
        ...Params
    ]> = EvaluateFunc<[HTMLElementTagNameMap[Selector][], ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;}

Parameters

Parameter Type Description
selector Selector the selector to query for
pageFunction Func | string the function to be evaluated in the frame's context
args Params additional arguments to pass to pageFunction

Returns:

Promise<Awaited<ReturnType<Func>>>

Remarks

This method runs Array.from(document.querySelectorAll(selector)) within the frame and passes it as the first argument to pageFunction.

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

Example

const divsCounts = await frame.$$eval('div', divs => divs.length);