2013-04-04 59 views
1

我有我爲我自己做練習下面的代碼:phantomjs讓所有IMG元素

var imgs = page.evaluate(function() { 
    return document.images; 
}); 

for (var i in imgs){ 
    console.log("source: " + i.src); 
} 

,但我只得到多個「不確定」的消息。

當我嘗試getAttribute('src')時,得到:''undefined'不是函數...「錯誤消息。

我已驗證該頁面具有帶src屬性的img元素。

解決方案:

我解決了這個由這裏所建議:

for (var i = 0; i < imgs.length; i++){ 
    if (imgs[i]) 
     console.log("source: " + imgs[i].src); 
} 

更多信息請參見this question

回答

2

試試這個:

for (var i = 0; i < imgs.length; i++) { 
    console.log("source: " + imgs[i].src); 
} 

代替

for (var i in imgs){ 
    console.log("source: " + i.src); 
} 
+0

我得到: 類型錯誤: '空' 是不是(評估 'IMGS [I]的.src') 它是一個對象可能我錯過了比這更基本的東西,我寫的代碼很好? 編輯: 好的,我得到了其中兩個以前的消息,然後顯示一條消息,指出該頁未能正確加載。 – 2013-04-04 13:16:13

+1

@ReutSharabani你試圖迭代數組作爲對象,所以'我'將索引,而不是DOM元素 – 2013-04-04 13:22:28

+1

@ReutSharabani如果我的代碼給你錯誤,你應該首先檢查你的'imgs'。也許有一些圖像的可能性 – 2013-04-04 13:25:52