Передача значения из PhantomJS в node.js

У меня есть скрипт phantomJS, который выполняется черезexec() вызовите скрипт node.js Теперь мне нужно вернуть строку из скрипта PhantomJS, чтобы ее можно было использовать обратно в узле.
Есть ли способ достичь этого?

Приложение Node:

child = exec('./phantomjs dumper.js',
    function (error, stdout, stderr) {
        console.log(stdout, stderr);      // Always empty
    });

dumper.js (Фантом)

var system = require('system');
var page = require('webpage').create();
page.open( system.args[1], function (status) {
    if (status !== 'success') {
        console.log('Unable to access the network!');
    } else {

        return "String"; // Doesn't work
    }
    phantom.exit('String2'); //Doesn't work either
});

Ответы на вопрос(2)

ать модуль NPMфантом вместоphantomjs, Это позволяет вам получать доступ к браузеру напрямую в nodejs вместо поддержки отдельных скриптов.

Решение Вопроса

JSON.stringify(result) и разобрать его в node.js с помощьюJSON.parse(stdout).

Вот так например:

Node.js:

child = exec('./phantomjs dumper.js',
    function (error, stdout, stderr) {
        console.log(stdout, stderr);      // Always empty
        var result = JSON.parse(stdout);
    }
);

PhantomJS:

var system = require('system');
var page = require('webpage').create();
page.open( system.args[1], function (status) {
    if (status !== 'success') {
        console.log('Unable to access the network!');
    } else {

        console.log(JSON.stringify({string:"This is a string", more: []}));
    }
    phantom.exit();
});

Вот пример о том, как использовать PhantomJS для чистки.

 silkAdmin20 окт. 2012 г., 09:49
Хорошо, спасибо еще раз, это действительно работает, меня смутило то, что связь со стороны браузера, я ожидал, что console.log будет только способом сбрасывать информативные данные, а не способом на самом деле возвращать вещи ..
 silkAdmin19 окт. 2012 г., 19:57
Спасибо, хотя, куда я должен поместить вызов JSON.stringify ('result')? после возврата или в качестве параметра метода выхода (только что попробовал оба и, похоже, у меня не работает)
 3on19 окт. 2012 г., 20:05
На самом деле вам не нужно использовать JSON, если вы просто хотите передать строку. Я рекомендовал вам использовать JSON, потому что вы можете захотеть сделать больше. Если вы используете PhantomJS для сбора данных, вы можете поделиться многими вещами.

Ваш ответ на вопрос