我一直在运行以下代码,以便从网站下载 csv
文件 http://niftyindices.com/resources/holiday-calendar
:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: true});
const page = await browser.newPage();
await page.goto('http://niftyindices.com/resources/holiday-calendar');
await page._client.send('Page.setDownloadBehavior', {behavior: 'allow',
downloadPath: '/tmp'})
await page.click('#exportholidaycalender');
await page.waitFor(5000);
await browser.close();
})();
使用 headless: false
它可以工作,它将文件下载到 /Users/user/Downloads
。与 headless: true
它不起作用。
I’m running this on a macOS Sierra (MacBook Pro) using puppeteer version 1.1.1
which pulls Chromium 66.0.3347.0
into .local-chromium/
directory and used npm init
和 npm i --save puppeteer
进行设置。
知道有什么问题吗?
提前感谢您的时间和帮助,
原文由 Antonio Gomez Alvarado 发布,翻译遵循 CC BY-SA 4.0 许可协议
此页面通过创建逗号分隔的字符串并通过设置数据类型来强制浏览器下载它来下载 csv
这在 chrome 上会打开一个新选项卡。
您可以点击此事件并将内容实际下载到文件中。不确定这是否是最好的方法,但效果很好。