我正在使用 phantom js 来截屏一个页面

http://code.google.com/p/phantomjs/wiki/QuickStart#Rendering

它有一个叫做clipRect的功能

http://code.google.com/p/phantomjs/wiki/Interface#clipRect_(object )

有人可以告诉我如何将以下代码修改为我们的 clipRect 以便我只能得到部分屏幕截图而不是全部吗?

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();
}

最佳答案

如果您想获取特定元素的屏幕截图,您可以根据 this article 的底部从 clipRect 获取 getBoundingClientRect 的必要信息:

page.clipRect = page.evaluate(function() {
    return document.getElementById(THE_ELEMENT_YOU_WANT).getBoundingClientRect();
});

关于javascript - Phantom JS - clipRect - Javascript 帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6432302/

10-12 15:14