サーバーサイドで画面キャプチャ #その3 CasperJS

2015年10月9日

Nodejs テクノロジー プログラミング 特集

WEBサイトキャプチャはデバッグ作業などにおいて、非常に有効です。 ローカル環境であれば、「selenium + WebDriver」で行うこともできるが、WEBサーバーでバッチ処理として行えるということのメリットを考えて、最近豊富にでてきているJS系の処理で今回は「CasperJS」を扱ってみる。

CasperJSの本家WEBサイト

http://docs.casperjs.org/

インストール

# debian系 $ apt-get install casperjs # centos系 $ yum install casperjs # 上記でインストール出来ない場合の直接設定(2015.10.3現在)※最新バージョンで行なってください $ wget https://github.com/n1k0/casperjs/zipball/1.1-beta3 $ unzip 1.1-beta3 $ cd n1k0-casperjs-4f105a9/ $ ln -sfn `pwd`/bin/casperjs /usr/local/bin/ # 確認 $ casperjs --version > 1.1.0-beta3

プログラム

var url = "http://yahoo.co.jp/"; var fileCapture = "yahoo.png"; var casper = require("casper").create(); casper.start(url); casper.then(function(){ // 画面のキャプチャを保存 this.capture(fileCapture); this.exit(); }); // 処理を開始する casper.run();

実行

もともとCasperJSはPhantomJSの機能縮小版なので、PhantomJSと同じ結果になるという事。 ただし、プログラムはPhantomJSの方が簡潔に書けるみたい。

注意

今回も文字化けする人は日本語フォントをインストールしてください。 ※インストールは割愛(前回ブログを参考)

追記

casperjsの最新版は、こちらで入手できます。 https://github.com/casperjs/casperjs/releases

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。