Command line browser with js support
I'm not aware of an interactive browser with js support but you should have a look at PhantomJS which is defined as:
PhantomJS is a headless WebKit with JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.
To get the page's content after it's been rendered:
$ phantomjs save_page.js http://example.com > ~/page.html
with save_page.js:
var system = require('system');
var page = require('webpage').create();
page.open(system.args[1], function()
{
console.log(page.content);
phantom.exit();
});
An interesting side-project is phantomjs-node which integrates PhantomJS with NodeJS, allowing the former to be used as a NodeJS module.
Edbrowse, an ed-style editor/browser optimized for blind users but appreciated by sysadmins for its scriptability, claims to support javascript based on Mozilla's engine. It's at http://the-brannons.com/edbrowse/.
According to the documentation for elinks
, it supports JavaScript. See section 2.6.1 for information on installing SpiderMonkey.
If you are running linux, you can remote control Firefox using Ruby (and presumably other language bindings) with watir-webdriver, then after you have it working you can trick it into running without any display (but still hit the page, uploading downloading or scraping data) using Xvfb,
In case a PNG of the webpage is enough and you don't need the HTML source, you should be able to use webkit-image
, a small command line utility that comes with Ubuntu. It's however not exactly a feature rich application, so it doesn't offer much customization, it might however be a good starting point for further hacking and thus maybe even allow getting the processed HTML output relatively easily.