Puppeteer 中文文档v25.8.0

Frame.waitForFunction() 方法

签名

class Frame {
  waitForFunction<
    Params extends unknown[],
    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
  >(
    pageFunction: Func | string,
    options?: FrameWaitForFunctionOptions,
    ...args: Params
  ): Promise<HandleFor<Awaited<ReturnType<Func>>>>;
}

参数

参数

类型

说明

pageFunction

Func | string

在框架上下文中求值的函数。

options

FrameWaitForFunctionOptions

(可选) 用于配置轮询方法、超时和信号的选项。

args

Params

要传递给 pageFunction 的参数。

返回值:

Promise<HandleFor<Awaited<ReturnType<Func>>>>

pageFunction 返回真值时解析的 promise。

示例

waitForFunction 可用于观察视口大小的变化:

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();
const page = await browser.newPage();
const watchDog = page.mainFrame().waitForFunction('window.innerWidth < 100');
page.setViewport({width: 50, height: 50});
await watchDog;
await browser.close();

要从 Node.js 向 page.waitForFunction 函数的谓词传递参数:

const selector = '.foo';
await frame.waitForFunction(
  selector => !!document.querySelector(selector),
  {}, // empty options object
  selector,
);