デバッグ処理などで重要な画面キャプチャをnodejsで取得してみます。
nodejsのインストール
# Debian系
$ sudo apt-get install nodejs
# Centos系
$yum install node
バージョン確認
$ node -v
v0.10.29
上記の様に返答がない場合、下記のコマンドで実行できる場合がありますが、こういう場合は、標準コマンドのnodeでパスを通して上げる必要があります。
※こうしておかないと、npmコマンドが正常に実行できなくなります。
$ nodejs -v
v0.10.29
nodejsをnodeにシンボリックリンクする
$ ln -s /usr/bin/nodejs /usr/bin/node
npmをインストール
# Debian系
$ apt-get install npm
# Centos系
$ yum install npm
phantomjsのwrapperである「webshot」をインストール
# ローカル環境にインストール
$ npm install webshot
# グローバル環境にインストール
$ npm install webshot -g
簡単にキャプチャを取得
var webshot = require('webshot');
webshot('http://google.co.jp', 'google.png', function(err) {
// 取得後処理
});
日本語対応
画面キャプチャで文字化けしているのは、nodejsに表示用のフォントが足りていない事が原因なので、インストールしてあげれば問題解決。
# Debian系
$ sudo apt-get install fonts-migmix
これだけで無事に日本語表示ができました。
課題
今現在は、画面サイズや、縦スクロールして全てのサイズを取得できないので、こういう場合の対応も必要になります。
また、自動化する場合の重要点としては、取得した画像を日別で取得して、画像の差分をチェックするような処理も必要になりそうです。
とりあえず、次回移行にクロール処理も含めて対応してみたいと思います。
0 件のコメント:
コメントを投稿