CasperJS

CasperJS http://casperjs.org/ is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko). It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntactic sugar for doing common tasks such as:

defining & ordering browsing navigation steps filling & submitting forms clicking & following links capturing screenshots of a page (or part of it) testing remote DOM logging events downloading resources, including binary ones writing functional test suites, saving results as JUnit XML scraping Web contents