Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单个帧的PhantomJS渲染工作不正常_Javascript_Phantomjs - Fatal编程技术网

Javascript 单个帧的PhantomJS渲染工作不正常

Javascript 单个帧的PhantomJS渲染工作不正常,javascript,phantomjs,Javascript,Phantomjs,我使用的是一种创建网站本地副本的方法,我有一个函数,它遍历网站的框架结构,并在运行时获取框架内容,将其存储在全局数组中。该部分目前运行良好,问题是: 在每一步中,我都试图使用 var temp = require('webpage').create(); temp.content = currpage.frameContent; //set the temp page to be the current frame var b64 = temp.renderBase64('png'); 如果

我使用的是一种创建网站本地副本的方法,我有一个函数,它遍历网站的框架结构,并在运行时获取框架内容,将其存储在全局数组中。该部分目前运行良好,问题是:

在每一步中,我都试图使用

var temp =  require('webpage').create();
temp.content = currpage.frameContent; //set the temp page to be the current frame
var b64 = temp.renderBase64('png');
如果我简单地将currpage.frameContent导出到一个文件并打开它,我可以看到它的内容,也可以在浏览器中打开它,看到它确实显示了它应该显示的大部分内容

尽管如此,b64变量没有值,并且在运行程序时没有出现错误


我还应该注意到,b64并不总是没有价值的,有时我确实获得了一个正确的框架渲染,这取决于我正在抓取的站点。

问题被发现后不久,尽管我们正在与项目交换方向,但我将发布如何修复我的问题

为了得到要渲染的温度,我所要做的就是设置温度的视口

temp.viewportSize = {
    width: 480,
    height: 800
};

在这种情况下frame.Content是什么样子的?渲染功能会渲染任何东西吗?它是一个标准的html封闭站点,在浏览器中打开所有内容。我预先删除了其中的脚本标记,因为它们不再需要了。在这些情况下,“渲染”不会渲染任何内容。如果我将框架内容输出到一个html文件,并运行一个单独的phantomjs实例,打开页面并呈现其内容,它就可以正常工作。不幸的是,我不认为这将是一个潜在的解决方案,在我试图做的背景下,最奇怪的是,temp.content中有我想要的内容,但它只是没有被呈现