puppeteer/website/versioned_docs/version-10.1.0/puppeteer.frame.__eval.md
2021-08-10 11:09:48 +01:00

1.3 KiB

Home > puppeteer > Frame > $$eval

Frame.$$eval() method

Signature:

$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>;

Parameters

Parameter Type Description
selector string the selector to query for
pageFunction (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType> the function to be evaluated in the frame's context
args SerializableOrJSHandle[] additional arguments to pass to pageFuncton

Returns:

Promise<WrapElementHandle<ReturnType>>

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);