访问PhantomJS中的图像维度

访问PhantomJS中的图像维度,phantomjs,Phantomjs,我试图找到一个页面下载的图像的大小;显而易见的解决办法是 var imgs = []; var imgTags = document.getElementsByTagName('img'); for (i = 0; i < imgTags.length; i++) { var img = imgTags[i]; imgs.push({src: img.src, h: img.height, w: img.width}); } var-imgs=[]; var imgTag

我试图找到一个页面下载的图像的大小;显而易见的解决办法是

var imgs = [];
var imgTags = document.getElementsByTagName('img');
for (i = 0; i < imgTags.length; i++) {
    var img = imgTags[i];
    imgs.push({src: img.src, h: img.height, w: img.width});
}
var-imgs=[];
var imgTags=document.getElementsByTagName('img');
对于(i=0;i
但这只会检索渲染的大小-例如,无处不在的
spacer.gif
将是1x4、4x4等,而它显然是1x1

此外,这种文档扫描似乎无法拾取下载的图像,但没有用于
img
标记:CSS、背景等


基于WebKit的浏览器中的inspector似乎非常能够呈现预览—它从何处获取?

希望有两个重要的属性:naturalWidth和naturalHeight(doc)

下面是一个示例脚本(stackoverflow的第一个图像)


希望有两个重要的属性:自然宽度和自然高度(doc)

下面是一个示例脚本(stackoverflow的第一个图像)

var page = require('webpage').create();
var url = 'http://www.stackoverflow.com/';

page.open(url, function(status) {
    var first_image_dim = page.evaluate(function() {
        return {width :$('img')[0].naturalWidth, height:$('img')[0].naturalHeight};
    });

    console.log(JSON.stringify(first_image_dim));
    phantom.exit();
});