SlimerJS
A scriptable browser like PhantomJS, based on Firefox
... in the future, as the development is suspended for now. SlimerJS provides the same API of PhantomJS. The current version of SlimerJS is highly compatible with PhantomJS 2.1. See current release notes in docs/release-notes-*.rst, and read the compatibility table to know the implementation level. The main goal of SlimerJS is to allow to execute all scripts developed for PhantomJS. So you could use tools like CasperJS. In fact, CasperJs 1.1 and higher can be executed with SlimerJS!