Puppeteer 中文文档v25.8.0

Page.waitForFileChooser() 方法

此方法通常与触发文件选择的动作配合使用。

⚠️警告

必须在文件选择器启动之前调用此方法。它不会返回当前处于活动状态的文件选择器。

⚠️警告

目前不支持拦截通过 DOM API(例如 window.showOpenFilePicker)触发的文件对话框。

签名

class Page {
  abstract waitForFileChooser(
    options?: WaitTimeoutOptions,
  ): Promise<FileChooser>;
}

参数

参数

类型

说明

options

WaitTimeoutOptions

(可选)

返回值:

Promise<FileChooser>

备注

在“有头”浏览器中,此方法会导致原生文件选择对话框对用户not showing up

示例

以下示例点击一个触发文件选择器的按钮,然后以 /tmp/myfile.pdf 作出响应,如同用户已选择该文件。

const [fileChooser] = await Promise.all([
  page.waitForFileChooser(),
  page.click('#upload-file-button'),
  // some button that triggers file selection
]);
await fileChooser.accept(['/tmp/myfile.pdf']);