Кукловод JS генерирует PDF из селектора - PullRequest
0 голосов
/ 29 июня 2018

Я знакомлюсь с Puppeteer для использования в приложении Vue.js, но не могу понять, как сгенерировать PDF на основе определенного элемента на странице. Я могу успешно создать PDF на основе полной страницы, но это не идеально. Есть ли метод или класс, который я пропустил, который может это позволить? Я не смог найти цепную page функцию для фильтрации по селектору (ам), например:

    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('https://what.a.fancy/website', {waitUntil: 'networkidle2'});
    await page.$('.just-this-html').pdf(options);

Я видел, что есть функция page.$(selector), но я не уверен, как связать ее с вызовом .then(), который может получить доступ к возвращенному HTML в PDF.

Спасибо!

1 Ответ

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

Попробуйте код это. await page.setContent() page.setContent

Пример

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com/', {waitUntil: 'networkidle2'});
const dom = await page.$eval('div.jsb', (element) => {
     return element.innerHTML
}) // Get DOM HTML
await page.setContent(dom)   // HTML markup to assign to the page for generate pdf
await page.pdf(options)
...