Skip to content

Instantly share code, notes, and snippets.

@ragog
Created December 16, 2020 15:42
Show Gist options
  • Save ragog/97eca9ce355cac15e8611c6b4ad8cc00 to your computer and use it in GitHub Desktop.
Save ragog/97eca9ce355cac15e8611c6b4ad8cc00 to your computer and use it in GitHub Desktop.
const puppeteer = require('puppeteer')
const fs = require('fs');
(async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
const navigationPromise = page.waitForNavigation()
const templateHeader = fs.readFileSync('template-header.html', 'utf-8')
const templateFooter = fs.readFileSync('template-footer.html', 'utf-8')
await page.emulateMediaType('screen')
await page.goto('https://theheadless.dev/posts')
await navigationPromise
await page.waitForSelector('.accept', { visible: true })
await page.evaluate(() => document.querySelector('.accept').click())
await page.waitForSelector('.accept', { hidden: true })
await page.pdf({
path: 'hd-posts.pdf',
displayHeaderFooter: true,
headerTemplate: templateHeader,
footerTemplate: templateFooter,
margin: {
top: '100px',
bottom: '40px'
},
printBackground: true
})
await browser.close()
})()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment