Phantom JS-clipRect-Javascript帮助
我用phantom js截屏一页 它有一个叫做clipRect的特性 ) 有人能告诉我如何修改下面的代码到我们的clipRect,这样我只得到一个部分截图,而不是整个东西吗Phantom JS-clipRect-Javascript帮助,javascript,phantomjs,Javascript,Phantomjs,我用phantom js截屏一页 它有一个叫做clipRect的特性 ) 有人能告诉我如何修改下面的代码到我们的clipRect,这样我只得到一个部分截图,而不是整个东西吗 if (phantom.state.length === 0) { if (phantom.args.length !== 2) { console.log('Usage: rasterize.js URL filename'); phantom.exit(); } else { var addre
if (phantom.state.length === 0) {
if (phantom.args.length !== 2) {
console.log('Usage: rasterize.js URL filename');
phantom.exit();
} else {
var address = phantom.args[0];
phantom.state = 'rasterize';
phantom.viewportSize = { width: 600, height: 600 };
phantom.open(address);
}
} else {
var output = phantom.args[1];
phantom.sleep(200);
phantom.render(output);
phantom.exit();
}
从:
clipRect(对象)
此属性定义调用render()时要光栅化的网页矩形区域。如果未设置剪切矩形,render()将处理整个网页
示例:phantom.clipRect={top:14,left:3,width:400,height:300}
因此,在调用render
之前,请尝试设置clipRect
:
var output = phantom.args[1];
phantom.sleep(200);
phantom.clipRect = { top: 14, left: 3, width: 400, height: 300 }
phantom.render(output);
phantom.exit();
您必须计算左上角(顶部
和左侧
)的位置,以及希望剪切矩形的大小(宽度
和高度
)
您可能可以在调用
render()
之前的任何时候设置clipRect
,但从这开始,看看会发生什么。发生的事情是,我正在使用brew,它正在安装V1.0.0,而clipRect和几乎所有其他功能都不受支持,因为V1.0.0是最旧的版本
如果您按照以下说明操作:
然后右键单击已编译的文件并单击显示/查看内容(在mac上),然后将可执行文件bin/phantomjs.app/contents/MacOS/phantomjs复制到路径中的某个目录
请随意在此处发布我正在监视此内容,如果需要,我可以提供帮助。如果您试图获取特定元素的屏幕截图,您可以从
getBoundingClientRect
获取clipRect
的必要信息,如下所示:
brew安装了错误版本的phantomjs,并且所安装的版本不支持clipRect。关闭。谢谢,使用bundle安装是在安装V1.0.0,而clipRect和几乎所有其他功能都不受支持,因为V1.0.0是最旧的版本。我使用的是Brew安装,而不是bundleinstall@joel:所以你有版本问题?版本问题成了噩梦。
page.clipRect = page.evaluate(function() {
return document.getElementById(THE_ELEMENT_YOU_WANT).getBoundingClientRect();
});