Skip to main content
Deno 2 is finally here 🎉️
Learn more
Latest
method ElementHandle.prototype.$$eval
import { ElementHandle } from "https://deno.land/x/pptr@1.2.0/src/JSHandle.ts";

This method runs document.querySelectorAll within the element and passes it as the first argument to pageFunction. If there's no element matching selector, the method throws an error.

If pageFunction returns a Promise, then frame.$$eval would wait for the promise to resolve and return its value.

Examples

Example 1

<div class="feed">
  <div class="tweet">Hello!</div>
  <div class="tweet">Hi!</div>
</div>

Example 2

const feedHandle = await page.$('.feed');
expect(await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText)))
 .toEqual(['Hello!', 'Hi!']);

Type Parameters

ReturnType

Parameters

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