我正在尝试使用phantomjs-node运行幻像脚本。正确调用该函数文件'schemas.png'正确下载,但它是空白的。这就像幻影无法在页面上找到任何东西,因为我尝试将它应该捕获的元素的id传递给getElementBounds函数并且它返回为未定义,所以我在clipRect边界中硬编码只是为了测试出来。是否有一个我缺少的步骤,比如等待页面加载还是什么? (顺便说一下,我在我的本地主机上测试这个)。 这是我的完整代码:
phantom.create(function (ph) {
ph.createPage(function (page) {
page.viewportSize = {
width: 1600,
height: 1200
};
page.open(pageUrl, function (status) {
setTimeout(function () {
// var clipRect = module.exports.getElementBounds(page, 'designer');
var clipRect;
var getElementBounds = function (id) {
return page.evaluate(function (id) {
clipRect = document.getElementById('designer').getBoundingClientRect();
return {
top: clipRect.top,
left: clipRect.left,
width: clipRect.width,
height: clipRect.height
};
}, id);
};
// page.clipRect = getElementBounds('designer');
page.clipRect = {
bottom: 421.81817626953125,
height: 350,
left: 0,
right: 640,
top: 71.81817626953125,
width: 640
};
console.log("Capturing designer");
page.render('schemas.png');
ph.exit();
}, 100);
});
});
});