Simple API for spawning/controlling phantomjs from node.js
npm install phantomjs-wrapper
This package provides a simple wrapper around the phantomjs binary(installed automatically with the package). All it does is forward messages to/from a child phantomjs process using a simple json protocol via stdio and phantomjs builtin web server.
Here is a list of supported method and events.
Simple example that may be pasted into node.js REPL:
phantomjsWrapper = require('phantomjs-wrapper');
phantomjsWrapper({timeout: 60000}, function(err, phantomjs) {
phantomjs.createPage(function(err, page) {
page.open('http://www.google.com', function(err) {
page.on('alert', function(msg) {
console.log('Alert:', msg);
});
page.once('loadFinished', function() {
page.render('google-reloaded.png', function() {
page.close(function() {
phantomjs.close(function() {
console.log('done!');
});
});
});
});
page.evaluateJavaScript('(function() { alert("hello!"); })');
page.includeJs('http://code.jquery.com/jquery-2.0.3.min.js', function() {
page.evaluateJavaScript('(function() { $("a").remove(); })');
page.render('google-no-anchors.png', function() {
page.reload();
});
});
});
});
});
Read phantomJS documentation for more info.