/HeadlessBrowsers

A list of (almost) all headless web browsers in existence

Creative Commons Zero v1.0 UniversalCC0-1.0

Headless Browsers

A list of (almost) all headless web browsers in existence

Name About Supported Languages
PhantomJS PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R(via Selenium)
CasperJS CasperJS is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko). JavaScript
Zombie.js Zombie.js is a lightweight framework for testing client-side JavaScript code in a simulated environment. No browser required. JavaScript
Lotte Lotte is a headless, automated testing framework built on top of PhantomJS and inspired by Ghostbuster. JavaScript
Ghostbuster Automated browser testing via phantom.js, with all of the pain taken out! That means you get a real browser, with a real DOM, and can do real testing! JavaScript
HeadlessBrowser A very miniature headless browser, for testing the DOM on Node.js JavaScript
browser.rb Headless Ruby browser on top of Nokogiri and TheRubyRacer Ruby
Selenium Selenium is a suite of tools to automate web browsers across many platforms. JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R
SlimerJS SlimerJS is similar to PhantomJs, except that it runs Gecko, the browser engine of Mozilla Firefox, instead of Webkit (And it is not yet truly headless). JavaScript
trifleJS A headless Internet Explorer browser using the .NET WebBrowser Class with a Javascript API running on the V8 engine. JavaScript
DalekJS Automated cross browser testing with JavaScript. JavaScript
HtmlUnit HtmlUnit is a "GUI-Less browser for Java programs". Java
ghost.py ghost.py is a webkit web client written in python. Python
twill twill is a simple language that allows users to browse the Web from a command-line interface. Python
Awesomium Chromium-based headless browser engine C++, .NET
SimpleBrowser A flexible and intuitive web browser engine designed for automation tasks. Built on the .Net 4 framework. .NET
Envjs Envjs is a simulated browser environment written in javascript. JavaScript
Watir-WebDriver The most elegant way to use Selenium WebDriver with ruby. Ruby
Spynner Programmatic web browsing module with AJAX support for Python Python
WatiN Web Application Testing In .Net .NET
BrowserKit BrowserKit simulates the behavior of a web browser. PHP
SST SST (selenium-simple-test) is a web test framework that uses Python to generate functional browser-based tests. Python
stanislaw Python headless browser testing Python
Jabba-Webkit Jabba's headless webkit browser for scraping AJAX-powered webpages. Python
Jaunt Java Web Scraping & Automation API Java
Geb Geb is a browser automation solution. Groovy
Jasmine-Headless-Webkit jasmine-headless-webkit uses the QtWebKit widget to run your specs without needing to render a pixel. Python, JavaScript, Ruby
phantompy Phantompy is a headless WebKit engine with powerful pythonic api build on top of Qt5 Webkit Python
Python-Webkit Python-Webkit is a python extension to Webkit to add full, complete access to Webkit's DOM Python
Splinter Splinter is an open source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items. Python
Browserjet Headless webkit browser with node.js interface. JavaScript
Headless Headless browser support for fast web acceptance testing in .Net .NET
browser-launcher detect and launch browser versions, headlessly or otherwise JavaScript
headless_browser Headless browser based on WebKit written in C++. C++
Guillotine A .NET headless browser, written in C#. .NET
benv Stub a browser environment in node.js and headlessly test your client-side code. JavaScript
grope A non-GUI library to represent browser environment using WebKit Framework + RubyCocoa Ruby
RoboBrowser A simple, Pythonic library for browsing the web without a standalone web browser. Python
MechanicalSoup A Python library for automating interaction with websites. Python
mechanize Stateful programmatic web browsing. Python
jedi-crawler Lightsabing Node/PhantomJS crawler; scrape dynamic content : without the hassle JavaScript
Splash Splash is a javascript rendering service with an HTTP API. It's a lightweight browser with an HTTP API, implemented in Python using Twisted and QT. Any
Nightmare Nightmare is a high-level browser automation library built as an easier alternative to PhantomJS. JavaScript
Erik Headless browser on top of Kanna and WebKit. Swift