Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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
当javascriptEnabled为true时,phantomjs呈现页面到图片两次以上抛出错误_Javascript_Node.js_Phantomjs - Fatal编程技术网

当javascriptEnabled为true时,phantomjs呈现页面到图片两次以上抛出错误

当javascriptEnabled为true时,phantomjs呈现页面到图片两次以上抛出错误,javascript,node.js,phantomjs,Javascript,Node.js,Phantomjs,我将在nodejs子进程(spawn)中运行phantomjs以将网页呈现为图片。但当我设置page.setting.javascriptEnabled=true并将页面渲染三次(第一次和第二次都正确)时,它将抛出错误。如果set javascriptEnabled=false,则运行良好 代码: 请将错误复制或键入问题正文。它只是PhantomJS崩溃了。请阅读错误报告指南,并提交错误报告。@DaveSchweisguth var webpage = require('webpage');

我将在nodejs子进程(spawn)中运行phantomjs以将网页呈现为图片。但当我设置
page.setting.javascriptEnabled=true
并将页面渲染三次(第一次和第二次都正确)时,它将抛出错误。如果set javascriptEnabled=false,则运行良好

代码:


请将错误复制或键入问题正文。它只是
PhantomJS崩溃了。请阅读错误报告指南,并提交错误报告。
@DaveSchweisguth
var webpage = require('webpage');
var write = require('system').stdout.write;
var configMod = require('./config');
var config = configMod.get();
var args = require('system').args;
var phantomId = args[1];

function doJob(job) {

    var page = webpage.create();
    var jobId = job.id;
    var url = job.url;
    var viewportSize = job.viewportSize || config.viewportSize;
    var clipRect = job.clipRect || config.clipRect;
    var zoomFactor = job.zoomFactor || config.zoomFactor;
    var imagePath = job.imagePath;

    viewportSize && (page.viewportSize = viewportSize);
    clipRect && (page.clipRect = clipRect);
    zoomFactor && (page.zoomFactor = zoomFactor);
    page.settings = {
        javascriptEnabled: true,
        loadImages: true,
        resourceTimeout: 3000,
        userAgent: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) PhantomJS/2.1.0'
    };

    page.open(url, function (status) {
        write(url + ':' + status)
        var data;
        var fetchObj;
        if (status === 'fail') {
            data = {
                JOBID: jobId,
                url: url,
                phantomId: phantomId,
                status: false
            };
            // release the memory
            page.close();
            // send data to NodeJS
            write('{{begin}}' + JSON.stringify(data) + '{{end}}');
        } else if (status === 'success') {
                page.render(imagePath, {quality: job.quality});

                data = {
                    JOBID: jobId,
                    url: url,
                    phantomId: phantomId,
                    image: imagePath,
                    status: true
                };
                // release the memory
                page.close();
                // send data to NodeJS
                write('{{begin}}' + JSON.stringify(data) + '{{end}}');                  

        }
    });
}