Capture screenshot of a website and return it as a stream
$ npm install --save screenshot-stream
var fs = require('fs');
var screenshot = require('screenshot-stream');
var stream = screenshot('http://google.com', '1024x768', {crop: true});
stream.pipe(fs.createWriteStream('google.com-1024x768.png'));
Type: string
Add page to capture.
Type: string
Set viewport size.
Type: object
Define options to be used.
Type: boolean
Default: false
Crop to the set height.
Type: number
(seconds)
Default: 0
Delay capturing the screenshot. Useful when the site does things after load that you want to capture.
Type: string
Capture a specific DOM element.
Type: array
Hide an array of DOM elements.
Type: object
Default: {}
Set custom headers.
Type: array
or object
A string with the same format as a browser cookie or an object of what phantomjs.addCookie
accepts.
Type: string
Username for authenticating with HTTP auth.
Type: string
Password for authenticating with HTTP auth.
Type: string
Default: png
Set format to render the image as. Supported formats are png
and jpg
.
Type: number
Default: 1
Scale webpage n
times.
Type: string
Set a custom user agent.
Type: string
Set a script to inject in the phantomJS process before the screenshot is taken.
Type: string
Set a timeout to execute your script.
Type: function
PhantomJS errors.
Type: function
Warnings with eg. page errors.
Type: function
The screenshot-stream token to output from your injected script when you are all done.
You can inject script into phantomJS process before the screenshot is made.
This script is regular javascript run in the browser.
To indicate that your script has finished his action and that the screenshot can be made,
the script will have to output the shoot-token
on console.log
demo user script
console.log('wait for 2.5 s')
setTimeout(function () {
console.log('then sends out message to indicate its all done')
console.log(window.userScriptEndToken) // this line indicate the end of the script.
}, 2500);
See the pageres CLI.
MIT © Kevin Mårtensson