以前から試してみたかったCasperJSを試してみたのです。
CasperJSとPhantomJSのインストール
CasperJSはnpmからインストールしてそのまま使えるんですね。
Terminal
$ npm install -g casperjs
インストールすると、CasperJSが自動的にPhantomJSもダウンロードしてくれます。ただ、そのままでは使えなかったので(パスが通っていなくて)ちょっとだけ手間をかけてあげます。
.bashrc
# PhantomJS with CasperJS from npm
phantomjs=$HOME/.nodebrew/current/lib/node_modules/casperjs/node_modules/phantomjs/bin
[ -d "$phantomjs" ] &&
export PATH=$phantomjs:$PATH
[ ! -x "$phantomjs/phantomjs" ] &&
chmod +x "$phantomjs/phantomjs"
.bashrc
にこんな感じのことを書いておくとすぐに使えて幸せかも。
例はnodebrewを使用している場合のものなので、直接node.jsをインストールしている場合などは若干パスが変わるかもしれません。
Terminal
$ casperjs --version
1.1.0-beta3
と出力されれば使用できます。
サンプルコードを書いてみる
Quickstartにあったコードを書いてみます。
sample.coffee
casper = require('casper').create()
casper.start('http://qiita.com/', ->
@echo(@getTitle())
)
casper.run()
Terminal
$ casperjs sample.coffee
Qiita - プログラマの技術情報共有サービス
http://qiita.com/ のタイトルが出力できました。
テストを書いてみる
テストも書けるみたい。
test.coffee
casper.test.begin 'Hello, Test!', 1, (test) ->
test.assert(true)
test.done()
Terminal
$ casperjs test test.coffee
Test file: test.coffee
# Hello, Test!
PASS Subject is strictly true
PASS 1 test executed in 0.053s, 1 passed, 0 failed, 0 dubious, 0 skipped.
まだgetElementsByTagName
してみたりだとか、画面キャプチャを撮ってみたりだとか、全然使ってないけどインストールが簡単だったのでこれからいろいろ試して行きたい。なかなか面白いことに使えそうな気がする。