page2image is an npm package using Headless Chrome for taking screenshots which also provides CLI command
npm i page2image --save
import Screenshot from 'page2image';
const screenshot = new Screenshot({
waitUntil: 'networkidle2',
viewportConfig: { width: 1920, height: 1080 },
screenshotConfig: { fullPage: true, path: 'screenshot.png' },
});
screenshot
.takeScreenshot('https://github.com/Runjuu')
.then(process.exit);
Accept a url string as an argument and return an image Buffer
init(Config)
Accept a Config object and next time calling takeScreenshot will using new config to take screenshot
- waitUntil
- evaluate
- viewportConfig
- screenshotConfig
- disableJS <boolean>
- whether or not to disable JavaScript on the page. Defaults to
false
- whether or not to disable JavaScript on the page. Defaults to
- emulateConfig
- selector
- if
selector
is valid, page2image will take screenshot for selected element
- if
npm i page2image --global
# Single page
> page2image https://github.com/Runjuu --type=jpeg --quality=80
# Multi-page
> page2image https://github.com/Runjuu https://github.com/Runjuu --type=jpeg --quality=80
# Local file
> page2image ./index.html --type=jpeg --quality=80
Page width in pixels.
Page height in pixels, default will take a full page screenshot.
Specify screenshot type, could be either 'jpeg' or 'png'.
The quality of the image, between 0-100. Not applicable to png images.
Specify device scale factor.
take a screenshot for the selected element
page2image https://github.com/Runjuu --selector=".js-contribution-graph"
To disable JavaScript on the page.
When to consider navigation succeeded. more details
Wait ${sleep} milliseconds to take screenshot.
Wait for the selector to appear in page
List of all available devices is available in the source code. Below is an example of using
emulate
args to emulate iPhone 6
page2image https://github.com/Runjuu --emulate=iPhone6
Wait till viewport scroll to the bottom of the page
Name of screenshot
Path to save the screenshot
page2image https://github.com/Runjuu --path=../
page2image https://github.com/Runjuu --path=/User/someone/
page2image https://github.com/Runjuu --path=~/Downloads
- take screenshots via url
- take screenshots from local html file
- take multiple screenshots from file