Кукольник JS генерировать PDF из селектора
Я знакомлюсь с кукольником для использования в Vue.JS app, но я не могу понять, как создать 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 ответ:
Попробуйте закодировать это.
await page.setContent()
Страница.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)