Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nikolay Vitkov <[email protected]>
2.4 KiB
sidebar_label
| sidebar_label |
|---|
| ElementHandle.$$eval |
ElementHandle.$$eval() method
Runs the given function on an array of elements matching the given selector in the current element.
If the given function returns a promise, then this method will wait till the promise resolves.
Signature
class ElementHandle {
$$eval<
Selector extends string,
Params extends unknown[],
Func extends EvaluateFuncWith<Array<NodeFor<Selector>>, Params> =
EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
>(
selector: Selector,
pageFunction: Func | string,
...args: Params
): Promise<Awaited<ReturnType<Func>>>;
}
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
selector |
Selector |
selector to query the page for. CSS selectors can be passed as-is and a Puppeteer-specific selector syntax allows querying by text, a11y role and name, and xpath and combining these queries across shadow roots. Alternatively, you can specify the selector type using a prefix. |
|
pageFunction |
Func | string |
The function to be evaluated in the element's page's context. An array of elements matching the given selector will be passed to the function as its first argument. |
|
args |
Params |
Additional arguments to pass to |
Returns:
Promise<Awaited<ReturnType<Func>>>
A promise to the result of the function.
Example
HTML:
<div class="feed">
<div class="tweet">Hello!</div>
<div class="tweet">Hi!</div>
</div>
JavaScript:
const feedHandle = await page.$('.feed');
const listOfTweets = await feedHandle.$$eval('.tweet', nodes =>
nodes.map(n => n.innerText),
);