nightmareを使う

以前から使ってみたかったnightmareを使ってみた。 PhantomJSのラッパーのCasperJSよりも簡単にしたPhantomJSのラッパーという認識で良いのだろうか。

$ npm install nightmare phantomjs

ローカルにnightmareとphantomjsをインストールする。 ローカルにインストールしたPhantomJSを使うため、以下のようなpackage.jsonを書いておく。

{
  "private": true
}

package.jsonにstartのnpm-scriptを書かずにnpm startで実行するため、server.jsという名前で以下の様なスクリプトを書く。

var nightmare = new require('nightmare');

(new nightmare)
  .goto('http://www.sasaplus1.com')
  .evaluate(function() {
    return location.href;
  }, function(uri) {
    console.log(uri);
  })
  .run();

実行する。

$ npm start

> @ start /path/to/dir
> node server.js

http://www.sasaplus1.com/

URIが出力された。


CasperJSと比べて一つの関数が一つのことをやっていて、何をやっているかがわかりやすくて良いと思った。

コードが書きやすくて理解しやすいのは良いと思ったけど、 他のところは比べられていないのでこれから先使っていくと、 それぞれの使いどころがわかるかな。