我的目标是下载网站的动态网页内容,因此需要对收到的内容执行javascript。我目前使用PhantomJS 2.1的代码如下:
var page = require('webpage').create();
var fs = require('fs');
page.open('https://sports.bovada.lv/soccer/premier-league', function () {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function () {
page.evaluate(); // Edit: this line is removed
page.close();
});
});
page.onLoadFinished = function() {
console.log("Download finished");
fs.write('test.html', page.content, 'w');
phantom.exit(0);
};
代码将收到的页面保存为“test.html”,但不幸的是,它没有像使用Web浏览器那样加载整页内容。如果有人可以帮助我,我将不胜感激。
答案 0 :(得分:1)
问题可能是你的退出太快了。尝试延迟脚本终止:
page.onLoadFinished = function() {
console.log("Download finished");
fs.write('test.html', page.content, 'w');
setTimeout(function(){
phantom.exit(0);
}, 1000);
};