Skip to content

Simple wrapper to control remote phantomjs instances using a simple API

Notifications You must be signed in to change notification settings

jhnns/node-phantomjs-wrapper

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Simple wrapper to control remote phantomjs instances using a simple API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 99.1%
  • JavaScript 0.9%