2013-04-04 81 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