macaca-puppeteer
Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome.
Installment
$ npm i macaca-puppeteer -g
Usage as module
const co = require('co');
const fs = require('fs');
const path = require('path');
const Puppeteer = require('macaca-puppeteer');
const puppeteer = new Puppeteer();
co(function *() {
/**
default options
{
headless: false,
x: 0,
y: 0,
width: 800,
height: 600,
userAgent: 'userAgent string'
}
*/
yield puppeteer.startDevice({
headless: true // in silence
});
yield puppeteer.maximize();
yield puppeteer.setWindowSize(null, 500, 500);
yield puppeteer.get('https://www.baidu.com');
const imgData = yield puppeteer.getScreenshot();
const img = new Buffer(imgData, 'base64');
const p = path.join(__dirname, '..', 'screenshot.png')
fs.writeFileSync(p, img.toString('binary'), 'binary');
console.log(`screenshot: ${p}`);
yield puppeteer.stopDevice();
});