PhantomJS (www.phantomjs.org) is a headless WebKit with JavaScript API.
It has fast and native support for DOM handling, CSS selector, JSON, Canvas, and SVG.
PhantomJS is cross-platform, it can be compiled for Linux, Windows, FreeBSD, and Mac OS X. Refer to the build instructions for details.
Note: If you are on Mac OS X, read the notice
before you start using brew
or port
to install Qt and/or PhantomJS.
PhantomJS scripts can be written in JavaScript or CoffeeScript.
See also quick start guide and more advanced examples which show various PhantomJS scripts, covering:
- getting driving direction
- showing weather forecast conditions
- finding pizza in New York
- looking up approximate location based on IP address
- pulling the list of seasonal food
- running regression tests from command line
- producing PDF version of a Wikipedia article
- rasterizing SVG to image
Do not forget to consult the concise API Reference.
PhantomJS is based on Qt. There are two implementations, using C++ and Python.
The latest stable release is version 1.3 ("Water Lily").
If you want to contribute, please read the Contribution Guide.