Frame.$$eval() 方法
在框架中对与给定选择器匹配的元素数组运行给定的函数。
如果给定的函数返回 Promise,则此方法将等待该 Promise 解析。
签名
class Frame {
$$eval<
Selector extends string,
Params extends unknown[],
Func extends EvaluateFuncWith<Array<NodeFor<Selector>>, Params> =
EvaluateFuncWith<Array<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 |
要传递给 |
返回值:
Promise<Awaited<ReturnType<Func>>>
一个解析为该函数结果的 Promise。
示例
const divsCounts = await frame.$$eval('div', divs => divs.length);