332
237
+ 1
17

What is PhantomJS?

PhantomJS (www.phantomjs.org) is a headless WebKit scriptable with JavaScript. It is used by hundreds of developers and dozens of organizations for web-related development workflow.
PhantomJS is a tool in the Headless Browsers category of a tech stack.
PhantomJS is an open source tool with 27.2K GitHub stars and 5.7K GitHub forks. Here鈥檚 a link to PhantomJS's open source repository on GitHub

Who uses PhantomJS?

Companies
108 companies reportedly use PhantomJS in their tech stacks, including Key Location, Ghost Inspector, and Tailor.

Developers
220 developers on StackShare have stated that they use PhantomJS.

PhantomJS Integrations

StackStorm, CasperJS, bip.io, Poltergeist, and Trails are some of the popular tools that integrate with PhantomJS. Here's a list of all 5 tools that integrate with PhantomJS.

Why developers like PhantomJS?

Here鈥檚 a list of reasons why companies and developers use PhantomJS
PhantomJS Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose PhantomJS in their tech stack.

Tim Abbott
Tim Abbott
Founder at Zulip | 3 upvotes 18.4K views
atZulipZulip
CasperJS
CasperJS
PhantomJS
PhantomJS
Node.js
Node.js

We use CasperJS because we adopted it back in 2013 for JavaScript frontend testing. It was a really nice system back then compared to what else was out there; you had PhantomJS as a programmable browser that actually rendered CSS and everything, it was really fast (speed is a big downside of e.g. Selenium), and it was possible to make non-flaky frontend integration tests with it.

I wouldn't recommend it today, because PhantomJS is a basically dead project, and as a result, so is CasperJS. I expect we'll migrate to something else. We haven't in large part because 95% of our new tests are written with a simple Node.js-based unit testing framework we use that run 35K lines of unit tests covering most of our JS codebase in 3.6 seconds. And for the things where we want an integration test, CasperJS does work, and I think there's a good chance that waiting another year or two will result in our being able to switch to a much better option than what we'd get if we migrated now.

See more
PhantomJS
PhantomJS

We run PhantomJS as part of the CircleCI testing, comparing against other branches to ensure changes are limited to their intended scope. PhantomJS

See more

PhantomJS's Features

  • Multiplatform, available on major operating systems: Windows, Mac OS X, Linux, and other Unices.
  • Fast and native implementation of web standards: DOM, CSS, JavaScript, Canvas, and SVG. No emulation!
  • Pure headless (no X11) on Linux, ideal for continuous integration systems. Also runs on Amazon EC2, Heroku, and Iron.io.
  • Easy to install: Download, unpack, and start having fun in just 5 minutes.

PhantomJS Alternatives & Comparisons

What are some alternatives to PhantomJS?
Selenium
Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
Electron
With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor.
Protractor
Protractor is an end-to-end test framework for Angular and AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
wkhtmltopdf
wkhtmltopdf and wkhtmltoimage are command line tools to render HTML into PDF and various image formats using the QT Webkit rendering engine. These run entirely "headless" and do not require a display or display service.
SlimerJS
It allows you to manipulate a web page with an external Javascript script: opening a webpage, clicking on links, modifying the content... It is useful to do functional tests, page automation, network monitoring, screen capture etc.
See all alternatives

PhantomJS's Followers
237 developers follow PhantomJS to keep up with related blogs and decisions.
Jorge Vargas
mudone
Mathieu Kim RObin
Julien Debatisse
Anand Shenoy
John Alton
Mohamma76685757
Alexpts Pts
Nelson Ford
Sven Gerlach