CasperJSがGecko(SlimerJS)にも対応していたので試してみたメモ
CasperJSはheadless browserを操作してテストやスクレイピングを行うことができるユーティリティセットです。
もともとはWebKitのheadless browserたるPhantomJSしか利用できなかったのですが、このたびv1.1-beta1からGeckoのheadless browserであるSlimerJSでも利用できるようになりました。
これまで「headless browserってWebKitだけだし…」という謎の理由で回避していたCasperJSですが、Geckoにも対応したので試してみました。というログです。便利ね、コレ。
試した環境は以下のようになります。
Install
1. PhantomJS
PhantomJSのホームページからソースをダウンロードして任意の場所に解凍します。今回は%UserProfile%/local/bin/phantomjs-1.9.1-windows
に解凍しました。
ついでにPathも通しておきましょう。
環境変数にPHANTOMHOME
を設定し、先ほどの解凍先ディレクトリを指定します。PHANTOMHOME
をPATH
に追加すれば完了です。
2. SlimerJS
SlimerJSのホームページからソースをダウンロードして任意の場所に解凍します。今回は%UserProfile%/local/bin/slimerjs-0.8
に解凍しました。
ついでにFirefoxのexeに対してSLIMERJSLAUNCHER
という環境変数を通しておく必要があります。今回はC:\Program Files (x86)\Mozilla Firefox\firefox.exe
を指定しました。
最後にPathも通しておきましょう。
環境変数にSLIMERHOME
を設定し、先ほどの解凍先ディレクトリを指定します。SLIMERHOME
をPATH
に追加すれば完了です。
3. CasperJS
最後にCasperJSのホームページからソースをダウンロードして任意の場所に解凍します。今回は%UserProfile%/local/bin/casperjs-1.1-beta1
に解凍しました。
こちらもPathを通します。
環境変数にCASPERHOME
を設定し、先ほどの解凍先ディレクトリ配下の/batchbin
を指定します。CASPERHOME
をPATH
に追加すれば完了です。
Run Scripts
以下のコマンドを実行してそれぞれエラーが出なければインストールは成功です。
> phantomjs --version
> slimerjs --version
> casperjs --version
ためしにCasperJSのQuickStartページに掲載されているサンプルを使ってスクリプトを実行してみましょう。
以下のファイルを作成し、sample.jsという名前で保存します。
var casper = require('capser').create(); casper.start('http://casperjs.org/', function() { this.echo(this.getTitle()); }); casper.thenOpen('http://phantomjs.org', function() { this.echo(this.getTitle()); }); casper.run();
実行してみましょう
> casperjs sample.js
この場合はPhantomJSを使ってスクリプトが実行されます。
SlimerJSを利用したい場合はengine
オプションをつければOKです。
> casperjs sample.js --engine slimerjs