Frame.$$eval() 方法
在 frame 中符合指定選取器的元素陣列上執行給定的函式。
如果給定的函式返回 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 和 在陰影根中組合這些查詢進行查詢。或者,您可以使用前綴指定選取器類型。 |
pageFunction | string | Func | 要在 frame 的上下文中評估的函式。符合給定選取器的元素陣列將作為其第一個引數傳遞給函式。 |
args | Params | 要傳遞給 |
返回
Promise<Awaited<ReturnType<Func>>>
函式結果的 Promise。
範例
const divsCounts = await frame.$$eval('div', divs => divs.length);