我正在尝试通过单击按钮下载 pdf。但是我无法下载它,因为它在新标签中打开而不是下载它。
遵循我尝试过的解决方案,但似乎没有任何效果。请帮我 。
1)收听targetcreated
,并将页面转换为pdf
browser.on('targetcreated', async (target) => {
if (target.type() !== 'page') {
return;
} else {
let newPage = await target.page();
await page.waitFor(5 * 1000); // To stop proceeding to other clicks in current page
await newPage.waitFor(5 * 1000); // To let it load the pdf
newPage.pdf({path: "./pdfDownloaded/" + new Date().getTime() + ".pdf"})
}
});
did not work
转换后的pdf为空白的解决方案
2) 设置标志always_open_pdf_externally: true
puppeteer.use(require('puppeteer-extra-plugin-user-preferences')({userPrefs: {
download: {
prompt_for_download: false,
},
plugins: {
always_open_pdf_externally: true
}
}}))
did not work
Chrome/Chromium崩溃时的解决方案always_open_pdf_externally: true
3)在页面评估中给出 print() ,并在打印预览打开时找到save
按钮并单击 。
解决方案did not work
,因为它打开提示询问位置以保存 pdf 并且 Puppeteer 无法访问操作系统驱动的提示