Puppeteer 中文文档v25.8.0

Frame.$eval() 方法

在框架中对与给定选择器匹配的第一个元素运行给定的函数。

如果给定的函数返回 Promise,则此方法将等待该 Promise 解析。

签名

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

参数

参数

类型

说明

selector

Selector

用于查询页面的选择器CSS 选择器可以按原样传入,Puppeteer 特有的选择器语法支持按文本a11y 角色和名称以及xpath进行查询,还支持跨 shadow root 组合这些查询。或者,你也可以使用前缀来指定选择器类型。

pageFunction

string | Func

将在框架上下文中求值的函数。与选择器匹配的第一个元素将作为第一个参数传递给该函数。

args

Params

要传递给 pageFunction 的附加参数。

返回值:

Promise<Awaited<ReturnType<Func>>>

一个解析为该函数结果的 Promise。

示例

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