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