extends.js 783 Bytes
var casper, fantomas, links;

casper = require("casper").create({
    loadImages: false,
    logLevel:   "debug",
    verbose:    true
});

links = {
    "http://edition.cnn.com/": 0,
    "http://www.nytimes.com/": 0,
    "http://www.bbc.co.uk/": 0,
    "http://www.guardian.co.uk/": 0
};

fantomas = Object.create(casper);

fantomas.countLinks = function() {
    return this.evaluate(function() {
        return __utils__.findAll("a[href]").length;
    });
};

fantomas.renderJSON = function(what) {
    this.echo(JSON.stringify(what, null, "  "));
};

fantomas.start();

Object.keys(links).forEach(function(url) {
    fantomas.thenOpen(url, function() {
        links[url] = this.countLinks();
    });
});

fantomas.run(function() {
    this.renderJSON(links);
    this.exit();
});