我正在运行Flask(0.10.1),Python(2.7),Ubuntu(14.04)和PhantomJS(1.9)。
我正在使用PhantomJS来捕获地图图像,但是因为它无法找到我确定存在的本地和远程资源(本地css文件和来自CDN的JQuery)而挂起(我能够得到那些资源使用Firefox,curl和wget没有任何问题)。
顺便说一句,我注意到莫名其妙的行为,例如直接从终端运行phantomjs时捕获失败,
phantomjs myscript.js
但是一旦我开始成功就行了。
strace phantomjs myscript.js
但是当我通过python子进程启动phantomJS时,它会再次失败。
subprocess.call(["/usr/bin/phantomjs", "myscript.js"])
以下是每次失败时显示的strace:
select([4], [3], [], [], NULL)
我的phantomjs脚本很简单。我试图捕获一个页面,我已经添加了等待时间,因为有时候它允许phantomjs找到资源(一个本地css文件和来自CDN的JQuery)。
page.open('http://127.0.0.1:xxxx/get-report-map', function() {
window.setTimeout(function() {
page.render('~/github24.png');
phantom.exit();
}, 8000);
});
是否有人遇到类似的问题,你是如何解决的?