phantomJS Passe - Argument pour le Fichier JS

Droit maintenant, je suis en utilisant la commande suivante pour exécuter phantomJS

exec('./phantomjs table.js',$op,$er);

table.js

var page = require('webpage').create();
page.open('table.php', function () {
    page.render('table.png');
    phantom.exit();
});

Cela sert l'objectif. Mais maintenant, je suis nécessaires pour travailler avec une variable dynamique, à savoir date. Ainsi est-il possible de passer un PHP ou Javascript variable à l'intérieur de la exec ligne de commande afin que je puisse utiliser cette variable à l'intérieur de table.js?

Mise à jour

J'ai essayé de modifier mon code en fonction d'une solution posté ici En passant une variable de PhantomJS via exec

exec('./phantomjs table.js http://www.yahoo.com',$op,$er);

table.js

var args = require('system').args;
var page = require('webpage').create();
var address = system.args[1];
    page.open(address, function () {
        page.render('table.png');
        phantom.exit();
    });

Mais cette résultats dans 2 problèmes:

  • L'ensemble du processus prend environ 3-4 minutes pour terminer la
  • Après que j'ai "Serveur introuvable" message

Si je supprime le code modifié, tout fonctionne comme prévu.

Plus De Débogage

À l'intérieur de table.js j'ai utilisé ceci:

var args = require('system').args;
args.forEach(function(arg, i) {

    console.log(i+'::'+arg);

});

var page = require('webpage').create();
var address = 'http://www.gmail.com';
page.open(address, function () {
    page.render('github.png');
    phantom.exit();
});

Sur l'exécution de cette, mon $op (à partir de exec commande) imprimé ce:

Array ( [0] => 0::table.js [1] => 1::http://www.yahoo.com )

So far So good. Mais dès que j'ai mis le code ci-dessous, les mêmes problèmes sont rencontrés

var args = require('system').args;

var page = require('webpage').create();
var address = system.args[1]; //<--- This line is creating problem, the culprit
page.open(address, function () {
    page.render('github.png');
    phantom.exit();
}); 

Semble que ce n'est pas la bonne syntaxe. Rien d'évident, je ne suis pas capable de voir?

stackoverflow.com/questions/16752882/...
J'ai essayé aussi. Je ne sais pas pourquoi, mais qui rend le navigateur raccrocher
Avec l'obtention d'un "Serveur introuvable" message après environ 3-4 minutes. Si je supprime l'argument lié code, tout revient à la normale.
pourriez-vous s'il vous plaît ajouter un appel à la console.journal afin de vérifier le système.args[1] ?
Et comment puis-je afficher la sortie? Par Le Biais De La Console De Firebug?

OriginalL'auteur asprin | 2013-05-29