上面的网页在网络浏览器(Firefox和Chrome)上正常加载并加载在线电子表格和地图。我想使用PhantomJS捕获在div#chart-or-map
我的generate_indictor.js
文件中有以下代码
var page = require('webpage').create();
page.open('http://staging1.unep.org/iris-dev/default/auto/generate-indicator/2adab4ea-352b-450d-b8d1-95d21b3e353b', function() {
// being the actual size of the headless browser
page.viewportSize = { width: 1440, height: 900 };
var clipRect = page.evaluate(function(){
return document.querySelector('#chart-or-map').getBoundingClientRect();
});
page.clipRect = {
top: clipRect.top,
left: clipRect.left,
width: clipRect.width,
height: clipRect.height
};
page.render('/tmp/map.png');
phantom.exit();
});
从我的控制台运行phantomjs generate_indictor.js
,但后来我收到以下错误:
ReferenceError: Can't find variable: get_spatial_data
http://staging1.unep.org/iris-dev/default/auto/generate-indicator/2adab4ea-352b-450d-b8d1-95d21b3e353b:1115 in draw_map
http://staging1.unep.org/iris-dev/default/auto/generate-indicator/2adab4ea-352b-450d-b8d1-95d21b3e353b:1133
当我查看页面的HTML源代码时,get_spatial_data
已被明确定义为函数。
我错过了什么?