nodeJS的phantomJS网站截图如何等待网页脚本执行完?(比如js执行ajax获取的数据)

问题描述
现在我要抓取一个网站的截图。
但是我发现截图出来的是未执行页面脚本JS的图,我看了很多文档和网友解答,无奈自己的搜索能力有点差,一直找不到对应的问题解决方案。
比如这个页面有大概几个XHR类型获取的数据形成的列表,我该如何在页面完全加载和执行JS后再去截图?
下面是我的代码
constphantom=require('phantom');
letcount=0;
(asyncfunction(){
constinstance=awaitphantom.create();
constpage=awaitinstance.createPage();
conststatus=awaitpage.open('http://wenshu.court.gov.cn/list/list/?sorttype=1&number=TMSVETRT&guid=31e005b5-868f-ae69cf1d-c65e96bcf639&conditions=searchWord+%E5%BD%93%E4%BA%8B%E4%BA%BA+++%E5%BD%93%E4%BA%8B%E4%BA%BA:%E5%BA%84%E6%9C%9D%E6%99%96');
awaitpage.evaluate(function(){//是在这里执行吗?有疑问
returndocument.body.innerHTML;
}).then(function(html){
console.log(html);
});
if(status=='success'){
awaitpage.render('./lalal.png');
}
awaitinstance.exit();
})();
炎炎设计
浏览 976回答 2
2回答

呼如林

别用phantomjs了,现在chrome都支持headless了,p的作者自己都说不建议使用了。puppeteer和selenium有很多选择的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript