Open youhackme opened 7 years ago
Font rendering can be done through Chrome headless browsing:
Puppeteer doesn't expose this API directly, but it's possible to use the raw devtools protocol to get the "Rendered Fonts" information:
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto('https://www.stackoverflow.com/') await page._client.send('DOM.enable') await page._client.send('CSS.enable') const doc = await page._client.send('DOM.getDocument') const node = await page._client.send('DOM.querySelector', {nodeId: doc.root.nodeId, selector: 'h1'}) const fonts = await page._client.send('CSS.getPlatformFontsForNode', {nodeId: node.nodeId}) console.log(fonts) await browser.close() })()
The devtools protocol documentation for
CSS.getPlatformFontsForNode
can be found here: https://chromedevtools.github.io/devtools-protocol/tot/CSS/#method-getPlatformFontsForNode
Identify fonts being used on website. See font ninja tool and whatruns code.