phantomjs-wrapper

Simple wrapper for a child phantomjs instance. Most of the page API/events are exposed in a transparent way

npm install phantomjs-wrapper
5 downloads in the last week
75 downloads in the last month

phantomjs-wrapper

Simple API for spawning/controlling phantomjs from node.js

Installation

npm install phantomjs-wrapper

Usage

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.

npm loves you