Skip to content

webhacking/remote-screen-capture

Repository files navigation

Remote Screen Capture

Capture screenshots from url.

Build Status npm version

It uses Selenium(Chrome) under the hood.

Install

Using npm:

npm install remote-screen-capture

Using yarn:

yarn add remote-screen-capture

Usage

NOTE: If you using ES6+ just import statements

Promise-based:

// Or 
const RemoteScreenCapture = require('remote-screen-capture').RemoteScreenCapture;

// If you want to encoded data
RemoteScreenCapture.take('https://www.google.com').toPromise().then(chunks => {
  console.log('Base64 Encoded Chunks', chunks);
});

// If you want to save image locally
RemoteScreenCapture.take('https://www.google.com', './images').toPromise().then(savePath => {
  console.log(`Saved to: ${savePath}`);
});

// Synchronous
const saveFilePath = await RemoteScreenCapture.take('https://www.google.com', './images').toPromise();

Observable-based:

const RemoteScreenCapture = require('remote-screen-capture').RemoteScreenCapture;

// If you want to encoded data
RemoteScreenCapture.take('https://www.google.com').subscribe(chunks => {
  console.log('Base64 Encoded Chunks', chunks);
});

// If you want to save image locally
RemoteScreenCapture.take('https://www.google.com', './images').subscribe(savePath => {
  console.log(`Saved to: ${savePath}`);
});

API

  • take(URI: string, options?: OptionsInterface)
    • options(width:number = 2880, height:number = 1800, savePath?: string)
  • takeByElementSelector(URI: string, selectorName: string, options?: OptionsInterface)
    • options(width:number = 2880, height:number = 1800, savePath?: string)

Where do I go for help?

If you need, open an issue.

Tests

npm test runs the jest tests.

npm run-script coverage runs the tests and reports code coverage.

#Contributing

If you want to contribute to the project (awesome!!), just pull request.

About

Capture screenshots using selenium

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published