【发布时间】:2020-12-19 15:44:29
【问题描述】:
我使用apify/puppeteer-scraper点击下载按钮,将本页数据导出为CSV:
我已经设法模拟了下载按钮(在右下角)的鼠标点击,并且一直到 CSV 下载。现在我想将生成的 CSV 文件下载到某个位置以便使用。
有没有办法做到这一点?我尝试导入require('fs'),但它似乎无法通过 Apify 刮板工作。
这是我目前在Pagefunction(context)中的代码:
const [response] = await Promise.all([
await page.click('#download-ToolbarButton > span.tabToolbarButtonImg.tab-icon-download'),
await page.waitForSelector('#DownloadDialog-Dialog-Body-Id > div > button:nth-child(4)'),
await page.focus('#DownloadDialog-Dialog-Body-Id > div > button:nth-child(4)'),
await page.click('#DownloadDialog-Dialog-Body-Id > div > button:nth-child(4)'),
await page.waitFor(5000),
await page.waitForSelector('#export-crosstab-options-dialog-Dialog-BodyWrapper-Dialog-Body-Id > div > div.foyjxgp > div:nth-child(2) > div > label:nth-child(2)'),
await page.focus('#export-crosstab-options-dialog-Dialog-BodyWrapper-Dialog-Body-Id > div > div.foyjxgp > div:nth-child(2) > div > label:nth-child(2)'),
await page.waitForSelector('#export-crosstab-options-dialog-Dialog-BodyWrapper-Dialog-Body-Id > div > div.fdr6v0d > button'),
await page.click('#export-crosstab-options-dialog-Dialog-BodyWrapper-Dialog-Body-Id > div > div.foyjxgp > div:nth-child(2) > div > label:nth-child(2)'),
await page.waitFor(60000),
await page._client.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: './downloads'})
// await page.hover('#export-crosstab-options-dialog-Dialog-BodyWrapper-Dialog-Body-Id > div > div.fdr6v0d > button'),
// await page.click('#export-crosstab-options-dialog-Dialog-BodyWrapper-Dialog-Body-Id > div > div.fdr6v0d > button'),
// await page.waitFor(5000)
// page.click('#export-crosstab-options-dialog-Dialog-BodyWrapper-Dialog-Body-Id > div > div.foyjxgp > div:nth-child(2) > div > label:nth-child(2)')
]);
【问题讨论】:
标签: jquery file google-chrome-devtools puppeteer apify