Использовать puppeteer-extra node module.
Puppeteer-extra
const puppeteer = require('puppeteer-extra');
...
...
puppeteer.use(require('puppeteer-extra-plugin-user-preferences')({userPrefs: {
download: {
prompt_for_download: false,
open_pdf_in_system_reader: true
},
plugins: {
always_open_pdf_externally: true // this should do the trick
}
}}))
const browser = await puppeteer.launch();
browser.on('targetcreated', async (target) => {
console.log('targetcreated');
if (target.type() !== 'page') {
return;
}
try {
const pageList = await browser.pages();
pageList.forEach((page) => {
page._client.send('Page.setDownloadBehavior', {
behavior: 'allow',
downloadPath: './pdfDownloaded/',
});
});
} catch (e) {
console.log("targetcreated", e);
}
});
...
...
Но когда я устанавливаю always_open_pdf_externally: true
, происходит сбой хрома.
попробуйте, если он работает для вас, и, пожалуйста,опубликовать ответ, если вы нашли