$eval<T> method

Future<T?> $eval<T>(
  1. String selector,
  2. @Language('js') String pageFunction, {
  3. List? args,
})

This method runs document.querySelector within the page 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 page.$eval would wait for the promise to resolve and return its value.

Examples:

var searchValue =
    await page.$eval('#search', 'function (el) { return el.value; }');
var preloadHref = await page.$eval(
    'link[rel=preload]', 'function (el) { return el.href; }');
var html = await page.$eval(
    '.main-container', 'function (e) { return e.outerHTML; }');

Shortcut for Page.mainFrame.$eval(selector, pageFunction).

Implementation

Future<T?> $eval<T>(String selector, @Language('js') String pageFunction,
    {List<dynamic>? args}) {
  return mainFrame.$eval<T>(selector, pageFunction, args: args);
}