创建 CDPSession 下载文件,监听对应的下载事件:
```
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// 创建 CDPSession
const session = await page.target().createCDPSession();
// 监听文件下载完成事件
session.on('Page.downloadWillBegin', async (params) => {
const { downloadId, url } = params;
console.log(`开始下载文件:${url}`);
// 等待下载完成
await session.send('Page.setDownloadBehavior', {
behavior: 'allow',
downloadId,
downloadPath: '/path/to/save/file', // 指定文件保存路径
});
console.log(`文件下载完成:${url}`);
});
await page.goto('
https://example.com'); // 打开页面进行操作
await browser.close();
})();
```