phantomjs是一个无界面的浏览器,基于webkit内核,输入一个url,可以返回该url的完整截图,或指定区域的截图
获取页面长宽高
var bb=page.evaluate(function(){
var data=new Array();
var doc=document.getElementByTagName('html')[0];
data[0]=doc.getBoundingClientRect().top;
data[1]=doc.getBoundingClientRect().left;
data[2]=doc.getBoundingClientRect().width; 与page.viewportSize设定的width相关
data[3]=doc.getBoundingClientRect().bottom;
data[4]=document.documentElement.scrollWidth; 页面真实宽度
data[5]=docuemnt.documentElement.scrollHeidth; 页面真实高度
return data;
});
获取完整截图
截图时通过BOM方法操作滚动条,直接滚动到页面底部window.scrollTo(0,10000)
还可以设置viewportSize很大,page.viewportsize={width4800:,height:8000}
还可以滚动到自适应的高度,window.document.body.scrollTop = document.body.scrollHeight;
对网页指定区域截图
用page.clipRect指定截图区域
page.clipRect={
top:0
left:0
width:800 宽度
height:1000 高度
}
page.zoomFactor设置页面放大、缩小因子如page.zoomFactor=0.1将页面缩小10倍,
page.zoomFactor=800/bb[4] 将整张图缩小为原来的800/bb[4],即实现截取到网页所有内容而且缩小原图的目的