日々精進

新しく学んだことを書き留めていきます

CasperJSでスクレイピングしたデータを送信する先を環境毎に変える(改良版)

2014-07-04 - 日々精進でjsファイルを生成し、それをclientscriptとしてヘッドレスブラウザに渡す方法を書いたが、かなり遠回りなやりかただった。
そんなことしなくても、
this.evaluateの引数にオブジェクトを渡せばCasperJS本体からヘッドレスブラウザ内にオブジェクトを渡せる。
例は以下。

casper.evaluate(function(username, password) {
    document.querySelector('#username').value = username;
    document.querySelector('#password').value = password;
    document.querySelector('#submit').click();
}, 'sheldon.cooper', 'b4z1ng4');

公式ドキュメントちゃんと読まないとだめですな。。
参考:The casper module — CasperJS 1.1.0-DEV documentation