PhantomJS没有加载动态内容

时间:2016-11-23 07:36:13

标签: javascript phantomjs

我尝试使用PhantomJS加载页面并将其另存为.png。但是,创建的png看起来不像原始的,并且缺少大部分正文。在线搜索,大多数类似的问题是由于没有等待足够长的时间来加载页面。但是,这还没有解决我的问题。这就是我正在运行的:

combineReducers()

我做错了什么,或者这是PhantomJS中的错误?

以下是它应该是什么样子以及它实际上是什么样子的图像:

预期:Expected 实际:Actual

2 个答案:

答案 0 :(得分:1)

目标站点是一个React应用程序,可能使用当前PhantomJS中不可用的一些较新的ES6 javascript语法(因为它使用较旧的QTWebkit呈现引擎)。

解决方案是使用polyfill库来弥补这些缺失的方法,如下面的答案:https://stackoverflow.com/a/38471938/2715393

答案 1 :(得分:0)

使用page.onResourceRequested = function(request) {}page.onResourceReceived = function(response) {}回调来记录已启动和已完成的资源下载。在您的onResourceReceived回调检测到所有下载均已完成后,请致电page.render()。这比5秒超时更可靠。

我建议在onResourceReceived调用page.render()之前等待0.5秒,因为最后一个待处理资源可以完成,但随后会触发其他下载。