Skip to main content

Frame.$eval() method

Signature:

$eval<Selector extends keyof HTMLElementTagNameMap, Params extends unknown[], Func extends EvaluateFunc<[
HTMLElementTagNameMap[Selector],
...Params
]> = EvaluateFunc<[HTMLElementTagNameMap[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
argsParamsadditional arguments to pass to pageFunction

Returns:

Promise<Awaited<ReturnType<Func>>>

Remarks

This method runs document.querySelector 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 searchValue = await frame.$eval('#search', el => el.value);