mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
1.4 KiB
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);