首页 > 解决方案 > 如果页面未发送任何请求,如何使用 puppeteer 下载文件

问题描述

我正在使用 puppeteer 从网站下载文件。我只有一个元素,我单击并归档只是下载。我在谷歌上搜索了有关使用 puppeteer 下载文件的信息,但所有这些都是基于page.on('request', ...). 但这对我不起作用,因为页面没有发送任何请求

page.on('request', arg => {
  console.log(arg.url())
})

在终端中,我只有“https://some-site/images/csv.gif”,但它只有 .gif。这个文件是如何下载的?如果浏览器没有做任何请求,这是否意味着该文件已经在客户端站点上?

在此处输入图像描述

标签: browserfrontendbotspuppeteerclient-side

解决方案


尝试(根据您的需要替换最适合您的变量):

const puppeteer = require('puppeteer');
const url = 'your.url.com';
const buttonElementId = '#downloadButton';
   
(async () => {
    const browser = await puppeteer.launch({headless: false});
    const page = await browser.newPage();
    await page.goto(url);
    await page.click(buttonElementId);
    await browser.close();
})();

推荐阅读