puppeteer/new-docs/puppeteer.frame.__eval.md
Jack Franklin 24cb6a28ad
chore(docs): document Frame class (#6188)
* chore: document Frame class
2020-07-09 14:22:58 +01:00

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