ReadWriteHack

PhantomJS: The Power of WebKit but Without the Broswer

PhantomJS gives you command-line access to the features of WebKit. According to its website: "Literally it acts like any other WebKit-based web browser, except that nothing gets displayed to the screen (thus, the term headless)." It has native support for DOM handling, CSS selector, JSON, Canvas, SVG, and JavaScript.

You can use to test JavaScript, render Web pages as PDFs or perform more complex Web-based actions such as finding recent tweets by a particular Twitter user.

Here's a list of example uses from the project's Google Code page:

  • running regression tests from command line
  • 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
  • producing PDF version of a Wikipedia article
  • rasterizing SVG to image

Here's an example of producing a PDF from a particular URL, from the PhantomJS QuickStart:

phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf

PhantomJS was created by Ariya Hidayat.

Other "headless" Web stacks include Celerity, HTMLUnit and Zombie.js.


ReadWriteWeb encourages comments, but please remember: Keep it nice, keep it clean, and avoid promotional comments. We do pre-moderate some comments with links. For more information, please read our full comment policy.
blog comments powered by Disqus
Recommended Story
RWW SPONSORS



RWW PARTNERS