Webサイトのスクリーンショットを撮りたいと思う機会は多いかと思います。Webサービスの中でもURLに対してそのサムネイルを表示したいと考えることもあるでしょう。 そんな時に使えそうなのがElectron Screenshot Serviceです。旧atom shellであるElectronを使ってnodeベースでWebサイトのスクリーンショットを撮影、保存できます。

Electron Screenshot Serviceの使い方

Electron Screenshot Serviceのインストールはnpmで行います。

$ npm install electron-screenshot-service

使い方としてはコマンドは提供されていないのでコードを書いて使います。例えば次のようなコードです。

var fs = require('fs');
var screenshot = require('electron-screenshot-service');

screenshot({
  url : 'http://google.de',
  width : 1024,
  height : 768
})
.then(function(img){
  fs.writeFile('./out.png', img.data, function(err){
    screenshot.close();
  });
});

screenshotというメソッドに対して、URLや幅、高さなどを指定します。また、実際のキャプチャを指定時間遅らせることも可能です。実際上記のコードを実行すると、out.pngというファイルが生成されます。

WebKitを使っていますので日本のWebサイトでも問題なく使えます。

コード前提なのでテストと組み合わせたりすると良さそうです。

Electron Screenshot Serviceはnode/JavaScript製、MIT Licenseのオープンソース・ソフトウェアです。

FWeinb/electron-screenshot-service