教程中的CasperJS代码不起作用

时间:2013-08-28 18:41:12

标签: casperjs

这是我的第一篇帖子:) 我正在学习CasperJS,我必须编写脚本,在网站上搜索所有img并检查网址。

我从vgaltes.com

找到了这个教程
var imagesArray = [];

function getImages() {
    var scripts = document.querySelectorAll('img[src]');
    return Array.prototype.map.call(scripts, function (e) {
        return e.getAttribute('src');
    });
};

casper.start('http://fooo.fooo', function () {
    imagesArray = this.evaluate(getImages);
    var self = this;
    imagesArray.forEach(function (item) {
        if (self.resourceExists(item)) {
            self.echo(item + ' loaded');
        } else {
            var message = item + ' not loaded';
            self.echo(message, 'ERROR');
        }
    });
});

但是当我在CasperJS上运行此代码(使用有效的url)时不起作用。什么都没发生。 Casper版本是1.1

2 个答案:

答案 0 :(得分:2)

看起来你没有运行该功能,尝试在最后添加以下代码

casper.run(function() {this.test.renderResults(true);});

答案 1 :(得分:1)

我是vgaltes.com的所有者。正如Pbk1303所说,你必须调用run函数。如果您阅读本教程,则会发布最后一个源代码。

casper.run(function(){
    this.echo('finished');
    this.test.done(1);
    this.test.renderResults(true);
});

此致