javascript - Puppeteer JS 从选择器生成 PDF
问题描述
我正在熟悉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 的调用链接起来。
谢谢!
解决方案
试试这个代码。 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)
推荐阅读
- angular - Angular 4 验证器在部署到服务器时工作方式不同
- visual-studio - 具有相同依赖项的 Visual Studio 解决方案中的多个项目会产生不同的 pdb 大小
- google-chrome-extension - 你可以在 iframe 中添加一个 chrome 扩展,如果可以的话,怎么做?
- pytorch - Pytorch - 如何有效地形成这个变换张量?
- wicket - 检票口下拉选项在验证错误时重置为“选择一个”
- docker - 如何访问远程 Droplet 服务器上的 Jenkins 仪表板?
- c - 有间隙的随机数
- r - R中的最小绝对偏差
- apache-pig - 用 NULL 替换 PIG
- python-3.x - 使用 python 为网站创建仪表板