Save and render a webpage with PhantomJS and node.js

From your comments, I’d guess you have 2 options

  1. Try to find a phantomjs node module – https://github.com/amir20/phantomjs-node
  2. Run phantomjs as a child process inside node – http://nodejs.org/api/child_process.html

Edit:

It seems the child process is suggested by phantomjs as a way of interacting with node, see faq – http://code.google.com/p/phantomjs/wiki/FAQ

Edit:

Example Phantomjs script for getting the pages HTML markup:

var page = require('webpage').create();  
page.open('http://www.google.com', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var p = page.evaluate(function () {
            return document.getElementsByTagName('html')[0].innerHTML
        });
        console.log(p);
    }
    phantom.exit();
});

Leave a Comment