FileChooser
FileChooser 对象通过 page.on('filechooser') 事件由页面分发。
// 注意 Promise.all 可防止点击和等待文件选择器之间的竞争条件。
const [fileChooser] = await Promise.all([
// 在点击之前调用 waitForEvent 以设置等待很重要。
page.waitForEvent('filechooser'),
// 打开文件选择器。
page.getByText('Upload').click(),
]);
await fileChooser.setFiles('myfile.pdf');
- fileChooser.element()
- fileChooser.isMultiple()
- fileChooser.page()
- fileChooser.setFiles(files[, options])
fileChooser.element()
Added in: v1.8- returns: <ElementHandle>#
返回与此文件选择器关联的 input 元素。
fileChooser.isMultiple()
Added in: v1.8返回此文件选择器是否接受多个文件。
fileChooser.page()
Added in: v1.8返回此文件选择器所属的页面。
fileChooser.setFiles(files[, options])
Added in: v1.8files<string|Array<string>|Object|Array<Object>>#options?<Object>noWaitAfter?<boolean> 启动导航的操作正在等待这些导航发生并等待页面开始加载。您可以通过设置此标志来选择不等待。您只需要在特殊情况下使用此选项,例如导航到无法访问的页面。默认为false。#timeout?<number> 最大时间(毫秒),默认为 30 秒,传递0可禁用超时。可以使用 browserContext.setDefaultTimeout(timeout) 或 page.setDefaultTimeout(timeout) 方法更改默认值。#
- returns: <Promise<void>>#
设置与此选择器关联的文件输入的值。如果某些 filePaths 是相对路径,则它们相对于当前工作目录解析。对于空数组,清除选定的文件。