CasperJS documentation¶
CasperJS is a navigation scripting & testing utility for the PhantomJS (WebKit) and SlimerJS (Gecko) headless browsers, written in Javascript.

- Installation
- Quickstart
- Using the command line
- Selectors
- Testing
- API Documentation
- Writing CasperJS modules
- Events & Filters
- Logging
- Extending
- Debugging
- FAQ
- Is CasperJS a node.js library?
- I’m stuck! I think there’s a bug! What can I do?
- The
casper.test
property is undefined, I can’t write any test! - I keep copy and pasting stuff in my test scripts, that’s boring
- What is the versioning policy of CasperJS?
- Can I use jQuery with CasperJS?
- Can I use CasperJS without using the
casperjs
executable? - How can I catch HTTP 404 and other status codes?
- Where does CasperJS write its logfile?
- What’s this mysterious
__utils__
object? - How does
then()
and the step stack work? - I’m having hard times downloading files using
download()
- Is it possible to achieve parallel browsing using CasperJS?
- Can I access & manipulate DOM elements directly from the CasperJS environment?
- Why can’t I create a new casper instance in a test environment?
- Okay, honestly, I’m stuck with Javascript.
- How do I use PhantomJS page module API in casperjs?
- How do I provide my implementation of a remote resource?
- I’m getting intermittent test failure, what can I do to fix them?
- Cookbook
- Changelog
- Upgrading
- Known Issues
- Credits
- License
You can also search the Index if you’re looking for something particular.
Community¶
- get the code and contribute
- join the mailing list
- check out the ecosystem
- follow @casperjs_org on Twitter
- there’s also a Google+ account (not much updated though)