Как скачать PDF, который открывается в новой вкладке в кукловод? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть страница с кнопкой.Когда я нажимаю эту кнопку, он открывает PDF-файл в новой вкладке.

Как я могу загрузить PDF как файл с puppeteer?

Может быть, я могу написать файл с буфером изновая вкладка.Но я не уверен, как.

1 Ответ

0 голосов
/ 15 июня 2018

Использовать 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, происходит сбой хрома.

попробуйте, если он работает для вас, и, пожалуйста,опубликовать ответ, если вы нашли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...