Sunday 21 May 2017

When I'm using phantomJS in node, the error appeared

I'm using phantomJS in node and wrote the following code, but the error appeared on the console.

The following code simply tries to access the google top page and take a screen shot of its page.

How should I resolve this error?

(node version: v6.10.3)

(1) code(test.js)

var phantom = require("phantom");
var promise = phantom.create().then(function(ph) {
    return ph.createPage().then(function(page) {
        page.property('onConsoleMessage', function(msg) {
            console.log(msg);
        });
        page.property('onLoadStarted', function() {
            loadInProgress = true;
            console.log('Load Started...');
        });
        page.property('onLoadFinished', function() {
            loadInProgress = false;
            console.log('Load End');
        });

        var loadInProgress = false;
        var stepIndex = 0;
        var steps = [
            function() {
                page.open('https://www.google.co.jp/').then(function (status) {
                    // something process
                }).catch(function(error){
                    console.log(error); // <======= Here, the error appeared
                });
            },
            function() {
                console.log("step end");
            }
        ];

        interval = setInterval(function(){
            if(!loadInProgress && typeof steps[stepIndex] == 'function') {
                steps[stepIndex]();
                stepIndex++;
            } else if (steps[stepIndex] != 'function') {
                ph.exit();
                clearInterval(interval);
            }
        }, 10);
    });
});

(2) error

$ node test.js
step end
warn: exit() was called before waiting for commands to finish. Make sure you are not calling exit() too soon.
info: Load Started...
Error: Phantom process stopped with exit code 0
    at Phantom._rejectAllCommands (<myfilepath>/phantomjs/node_modules/phantom/lib/phantom.js:361:41)
    at ChildProcess.Phantom.process.on.code (<myfilepath>/phantomjs/node_modules/phantom/lib/phantom.js:164:18)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)



via user3321541

No comments:

Post a Comment