browser - 如果页面未发送任何请求,如何使用 puppeteer 下载文件
问题描述
我正在使用 puppeteer 从网站下载文件。我只有一个元素,我单击并归档只是下载。我在谷歌上搜索了有关使用 puppeteer 下载文件的信息,但所有这些都是基于page.on('request', ...)
. 但这对我不起作用,因为页面没有发送任何请求
page.on('request', arg => {
console.log(arg.url())
})
在终端中,我只有“https://some-site/images/csv.gif”,但它只有 .gif。这个文件是如何下载的?如果浏览器没有做任何请求,这是否意味着该文件已经在客户端站点上?
解决方案
尝试(根据您的需要替换最适合您的变量):
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();
})();
推荐阅读
- javascript - 在 EJS 页面中使用 Object.keys()
- php - MySQL LEFT JOIN - 如何处理记录与 PHP 不匹配的情况
- odoo-13 - 仅在 odoo 13 企业版中隐藏编辑按钮管道最后阶段
- kotlin - 用 !! 抛出自定义空断言 Kotlin 中的运算符?
- algorithm - 跟随的时间复杂度是多少?
- python - 为什么我从 Twitter 中提取关键字的代码没有打印任何内容?
- r - 将点转换为 sf R 中宽度 x km 和高度 y km 的矩形多边形
- html - 关于 robots.txt 禁止参数 URL
- python - xgboost 和 py-xgboost 的区别?
- javascript - Firebase 身份验证。更新所有项目文件