2013-08-28 65 views
1

這是我第一篇文章:) 我在學習CasperJS,我必須編寫腳本在網站上搜索所有img,並檢查網址。教程中的CasperJS代碼不起作用

我發現這個教程從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)無法正常工作。什麼都沒發生。 卡斯帕版本是1.1

+0

「什麼也沒發生」 的時候?當你在你的腳本上啓動casper js?它只是完成?什麼是退出碼(ERRORLEVEL或$?)?您是否檢查過您的給定網址中的文檔是否包含圖片? –

回答

2

看起來你沒有運行的功能,嘗試添加下面的代碼到底

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

我vgaltes.com的所有者。正如Pbk1303所說,你必須調用run函數。如果您閱讀本教程,是否是發佈的最後一個源代碼。

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

問候,

+0

我有疑問,上面的代碼不會從動態創建的img標籤中取得圖像src,我該如何做? – Pbk1303

+0

我不明白你。 「你動態創建的img標籤」是什麼意思?在我的文章中,我捕獲了頁面,並將其與來自文件系統的參考圖像進行比較。 – vgaltes