如何使用 Puppeteer 下载文件?

使用 Puppeteer 下载文件非常简单。下文的示例说明如何高效地完成此操作,避免不必要的复杂操作。

这里我们将设置下载行为并指定下载路径,从而实现自动文件下载。

      const puppeteer = require('puppeteer');
const path = require('path');

(async () => {
  const downloadPath = path.resolve('./download'); // Define download path
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();

  // Set download behavior and path
  await page._client.send('Page.setDownloadBehavior', {
    behavior: 'allow',
    downloadPath: downloadPath 
  });

  await page.goto('https://example.com/download', { waitUntil: 'networkidle2' });

  // Click on the download button
  await page.click('#downloadButton'); // Adjust the selector as needed

  console.log('File download initiated.');
  await browser.close();
})();
    

说明:

  1. 下载路径:使用 path.resolve 设置文件下载的路径。
  2. 浏览器启动:启动无头浏览器实例。
  3. 设置下载行为:将 Puppeteer 配置为允许下载并指定下载目录。
  4. 导航到 URL:前往包含下载链接的网页。
  5. 模拟点击:单击下载按钮开始文件下载。

如需更高级的文件处理,可考虑 Bright Data 的抓取浏览器。此浏览器具备自动验证码求解和复杂网站交互处理等增强功能,成为大规模网页抓取项目的理想选择。

想要立即开始使用?