Skip to main content
Version: 19.2.0

Frame.$eval() method

Runs the given function on the first element matching the given selector in the frame.

If the given function returns a promise, then this method will wait till the promise resolves.

Signature:

class Frame {
$eval<
Selector extends string,
Params extends unknown[],
Func extends EvaluateFunc<
[ElementHandle<NodeFor<Selector>>, ...Params]
> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>
>(
selector: Selector,
pageFunction: Func | string,
...args: Params
): Promise<Awaited<ReturnType<Func>>>;
}

Parameters

ParameterTypeDescription
selectorSelectorThe selector to query for.
pageFunctionFunc | stringThe function to be evaluated in the frame's context. The first element matching the selector will be passed to the function as its first argument.
argsParamsAdditional arguments to pass to pageFunction.

Returns:

Promise<Awaited<ReturnType<Func>>>

A promise to the result of the function.

Example

const searchValue = await frame.$eval('#search', el => el.value);