Installation
CasperJS can be installed on Mac OSX, Windows and most Linuxes.
Prerequisites
- PhantomJS 1.8.1 or greater. Installation instructions can be found here
-
Python 2.6 or greater for
casperjs
in thebin/
directory - .NET Framework 3.5 or greater (or Mono 2.10.8 or greater) for
casperjs.exe
in thebin/
directory
- Experimental: as of 1.1-beta1, SlimerJS 0.8 or greater to run your tests against Gecko (Firefox) instead of Webkit. To see PhantomJS API compatibility of SlimerJS, please refer to this page.
Warning
The Ruby version of the casperjs
executable also available in the rubybin/
directory has been deprecated as of 1.1-beta, and is not compatible with SlimerJS.
The batch version of the casperjs
executable also available in the batchbin/
directory has been deprecated as of 1.1-beta, and is not compatible with SlimerJS.
Installing from Homebrew (OSX)
Installation of both PhantomJS and CasperJS can be achieved using Homebrew, a popular package manager for Mac OS X.
Above all, don't forget to update Formulaes:
$ brew update
For the 1.1 development version (recommended):
$ brew install casperjs --devel
For the 1.0.x stable version:
$ brew install casperjs
If you have already installed casperjs and want to have the last release (stable|devel), use upgrade
:
$ brew upgrade casperjs
Upgrade only update to the latest release branch (1.0.x|1.1-dev).
Installing from npm
You can install CasperJS using npm:
$ npm install -g casperjs
Note
The -g flag makes the casperjs executable available system-wide.
Warning
While CasperJS is installable via npm, :ref:`it's not a NodeJS package <faq_node>`.
Installing from git
Installation can be achieved using git. The code is mainly hosted on Github.
From the master branch
$ git clone git://github.com/n1k0/casperjs.git
$ cd casperjs
$ ln -sf `pwd`/bin/casperjs /usr/local/bin/casperjs
Once PhantomJS and CasperJS installed on your machine, you should obtain something like this:
$ phantomjs --version
1.8.1
$ casperjs
CasperJS version 1.1.0-DEV at /Users/niko/Sites/casperjs, using phantomjs version 1.8.1
# ...
Or if SlimerJS is your thing:
$ slimerjs --version
Innophi SlimerJS 0.8pre, Copyright 2012-2013 Laurent Jouanneau & Innophi
$ casperjs
CasperJS version 1.1.0-DEV at /Users/niko/Sites/casperjs, using slimerjs version 0.8.0
You are now ready to write your :doc:`first script <quickstart>`!
Installing from an archive
You can download tagged archives of CasperJS code:
Latest stable version:
- https://github.com/n1k0/casperjs/zipball/1.0.3 (zip)
- https://github.com/n1k0/casperjs/tarball/1.0.3 (tar.gz)
Latest development version (master branch):
- https://github.com/n1k0/casperjs/zipball/master (zip)
- https://github.com/n1k0/casperjs/tarball/master (tar.gz)
Operations are then the same as with a git checkout.
CasperJS on Windows
Phantomjs installation additions
- Append
";C:\phantomjs"
to yourPATH
environment variable. - Modify this path appropriately if you installed PhantomJS to a different location.
Casperjs installation additions
CasperJS, as of 1.1-beta3, ships with a .NET application so you don't need Python nor Ruby to use it.
- Append
";C:\casperjs\bin"
to yourPATH
environment variable. - Modify this path appropriately if you installed CasperJS to a different location.
You can now run any regular casper scripts that way:
C:> casperjs myscript.js
Earlier versions of CasperJS
CasperJS, as of 1.0.0-RC3, ships with a Batch script so you don't need Python nor Ruby to use it.
- Append
";C:\casperjs\batchbin"
to yourPATH
environment variable. - Modify this path appropriately if you installed CasperJS to a different location.
You can now run any regular casper scripts that way:
C:> casperjs.bat myscript.js
Before 1.0.0-RC3, you had to setup your casper scripts that way::
phantom.casperPath = 'C:\casperjs-1.1'; phantom.injectJs(phantom.casperPath + '\bin\bootstrap.js');
var casper = require('casper').create();
// do stuff
Run the script using the phantom.exe
program:
C:> phantomjs.exe myscript.js
Note
Windows users will get colorized output if ansicon is installed.
Known Bugs & Limitations
- Due to its asynchronous nature, CasperJS doesn't work well with PhantomJS' REPL.