Frame.$eval() 方法
在 frame 中,於第一個符合指定選擇器的元素上執行給定的函式。
如果給定的函式回傳一個 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 | 要在 frame 的上下文中評估的函式。第一個符合選擇器的元素將作為第一個參數傳遞給函式。 |
args | Params | 要傳遞給 |
回傳
Promise<Awaited<ReturnType<Func>>>
一個指向函式結果的 Promise。
範例
const searchValue = await frame.$eval('#search', el => el.value);