Last active
December 24, 2018 02:06
-
-
Save tamanugi/b81dcc3c235a62a1f7b68924f9aecede to your computer and use it in GitHub Desktop.
Puppeteerを使って指定したDOMのみのスクリーンショットを取得する ref: https://qiita.com/tamanugi/items/8cc1266265457f13b9ea
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const puppeteer = require('puppeteer'); | |
(async () => { | |
const browser = await puppeteer.launch({headless: true}); | |
const page = await browser.newPage(); | |
const targetElementSelector = '#tw-container' | |
await page.goto('https://google.co.jp') | |
await page.type('pupperteer 翻訳') | |
await page.click('#tsf > div.tsf-p > div.jsb > center > input[type="submit"]:nth-child(1)') | |
await page.waitFor(targetElementSelector) | |
await page.screenshot({path: 'page-ss.png'}) | |
const clip = await page.evaluate(s => { | |
const el = document.querySelector(s) | |
// エレメントの高さと位置を取得 | |
const { width, height, top: y, left: x } = el.getBoundingClientRect() | |
return { width, height, x, y } | |
}, targetElementSelector) | |
// スクリーンショットに位置と大きさを指定してclipする | |
await page.screenshot({ clip, path: 'tw-container-ss.png' }) | |
browser.close(); | |
})(); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment