PhantomJS is a headless WebKit with JavaScript API.

PhantomJS is an optimal solution for Headless Website Testing, Screen Capture, Page Automation, Network Monitoring. Scriptable with JavaScript or CoffeeScript

Run functional tests with frameworks such as Jasmine, QUnit, Mocha, Capybara, WebDriver, and many others. Programmatically capture web contents, including SVG and Canvas. Create web site screenshots with thumbnail preview. Access and manipulate webpages with the standard DOM API, or with usual libraries like jQuery. Monitor page loading and export as standard HAR files. Automate performance analysis using YSlow and Jenkins., Examples.

YouTube Twitter GitHub