Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kevva/screenshot-stream
Capture screenshot of a website and return it as a stream
https://github.com/kevva/screenshot-stream
capture nodejs phantomjs screenshot stream webpage
Last synced: 20 days ago
JSON representation
Capture screenshot of a website and return it as a stream
- Host: GitHub
- URL: https://github.com/kevva/screenshot-stream
- Owner: kevva
- License: mit
- Created: 2014-10-08T20:49:47.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2019-03-28T03:48:41.000Z (over 5 years ago)
- Last Synced: 2024-11-16T22:06:30.197Z (27 days ago)
- Topics: capture, nodejs, phantomjs, screenshot, stream, webpage
- Language: JavaScript
- Size: 98.6 KB
- Stars: 236
- Watchers: 15
- Forks: 38
- Open Issues: 9
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# screenshot-stream [![Build Status](https://travis-ci.org/kevva/screenshot-stream.svg?branch=master)](https://travis-ci.org/kevva/screenshot-stream)
> Capture screenshot of a website and return it as a stream
## Install
```
$ npm install --save screenshot-stream
```## Usage
```js
const fs = require('fs');
const screenshot = require('screenshot-stream');const stream = screenshot('http://google.com', '1024x768', {crop: true});
stream.pipe(fs.createWriteStream('google.com-1024x768.png'));
```## API
### screenshot(url, size, [options])
#### url
Type: `string`
Add page to capture.
#### size
Type: `string`
Set viewport size.
#### options
Type: `Object`
Define options to be used.
##### crop
Type: `Boolean`
Default: `false`Crop to the set height.
##### delay
Type: `number` *(seconds)*
Default: `0`Delay capturing the screenshot. Useful when the site does things after load that you want to capture.
##### timeout
Type: `number` *(seconds)*
Default: `60`Number of seconds after which PhantomJS aborts the request.
##### selector
Type: `string`
Capture a specific DOM element.
##### css
Type: `string`
Apply custom CSS to the webpage. Specify some CSS or the path to a CSS file.
##### script
Type: `string`
Apply custom JavaScript to the webpage. Specify some JavaScript or the path to a file.
##### hide
Type: `Array`
Hide an array of DOM elements.
##### headers
Type: `Object`
Default: `{}`Set custom headers.
##### cookies
Type: `Array` or `Object`
A string with the same format as a [browser cookie](http://en.wikipedia.org/wiki/HTTP_cookie) or an object of what [`phantomjs.addCookie`](http://phantomjs.org/api/phantom/method/add-cookie.html) accepts.
##### username
Type: `string`
Username for authenticating with HTTP auth.
##### password
Type: `string`
Password for authenticating with HTTP auth.
##### format
Type: `string`
Default: `png`Set format to render the image as. Supported formats are `png` and `jpg`.
##### scale
Type: `number`
Default: `1`Scale webpage `n` times.
##### userAgent
Type: `string`
Set a custom user agent.
##### transparent
Type: `Boolean`
Default: `false`Set background color to `transparent` instead of `white` if no background is set.
#### .on('error', callback)
Type: `Function`
PhantomJS errors.
#### .on('warning', callback)
Type: `Function`
Warnings with for example page errors.
## CLI
See the [pageres](https://github.com/sindresorhus/pageres#usage) CLI.
## License
MIT © [Kevin Mårtensson](https://github.com/kevva)