を使用してnode.jsスクリプト内から実行しているPhantomJS/CasperJSスクリプトがありますprocess.spawn()
。require()
CasperJSはモジュールのサポートをサポートしていないため、CasperJSからコマンドを出力しstdout
、node.jsスクリプトからコマンドを読み込んで、spawn.stdout.on('data', function(data) {});
redis / mongooseにオブジェクトを追加するなどの操作を実行しようとしています(複雑ですが、そうですが、このためのWebサービスを設定するよりも簡単です...)CasperJSスクリプトは一連のコマンドを実行し、たとえば、データベースに追加する必要のある20のスクリーンショットを作成します。
data
しかし、変数(a ?)を行に分割する方法がわかりませんBuffer
...文字列に変換してから置換を実行しようとしましspawn.stdout.setEncoding('utf8');
たが、何も機能しないようです...
これが私が今持っているものです
var spawn = require('child_process').spawn;
var bin = "casperjs"
//googlelinks.js is the example given at http://casperjs.org/#quickstart
var args = ['scripts/googlelinks.js'];
var cspr = spawn(bin, args);
//cspr.stdout.setEncoding('utf8');
cspr.stdout.on('data', function (data) {
var buff = new Buffer(data);
console.log("foo: " + buff.toString('utf8'));
});
cspr.stderr.on('data', function (data) {
data += '';
console.log(data.replace("\n", "\nstderr: "));
});
cspr.on('exit', function (code) {
console.log('child process exited with code ' + code);
process.exit(code);
});