はじめに
仕事でPhantomJSを使ってWebアプリのスクリーンショットを自動取得する必要があったので、gulp(実際はさらにjenkinsと組み合わせる予定)からPhantomJSを実行するコードを書いてみました。
サンプル
gulpfile.js
var gulp = require("gulp");
var phantomjs = require('phantomjs-prebuilt');
gulp.task("phantomjs", function(done) {
var program = phantomjs.exec('phantomjs-script.js');
program.stdout.pipe(process.stdout);
program.stderr.pipe(process.stderr);
program.on('exit', code => {
done();
});
});
phantomjs-script.js
var page = require('webpage').create();
//指定したURLを開く
page.open('https://google.com', function(status) {
console.log("Status: " + status);
if(status === "success") {
//screen capture
page.render('google.png');
}
phantom.exit();
});
実行結果
$ gulp phantomjs
[23:19:21] Using gulpfile ~\Documents\node\node-v6.10.0-win-x64\gulpfile.js
[23:19:21] Starting 'phantomjs'...
Status: success
[23:19:25] Finished 'phantomjs' after 4.12 s