L'obtention de débogage à distance mis en place avec PhantomJS

Je suis en train de configurer le débogage à distance avec PhantomJS, sans beaucoup de chance. Je suis en suivant les instructions à https://github.com/ariya/phantomjs/wiki/Troubleshooting. J'ai un petit programme nommé debug.js:

var system  = require('system' ), fs = require('fs'), webpage = require('webpage');

(function(phantom){
    var page=webpage.create();

    function debugPage(){
        console.log("Refresh a second debugger-port page and open a second webkit inspector for the target page.");
        console.log("Letting this page continue will then trigger a break in the target page.");
        debugger; //pause here in first web browser tab for steps 5 & 6
        page.open(system.args[1]);
        page.evaluateAsync(function() {
            debugger; //step 7 will wait here in the second web browser tab
        });
    }
    debugPage();
}(phantom));

Maintenant, je l'exécuter à partir de la ligne de commande:

$ phantomjs --remote-debugger-port=9001 --remote-debugger-autorun=yes debug.js my.xhtml

La console.log les messages sont affichées dans la fenêtre shell. J'ai ouvert une page de navigateur pour localhost:9001. C'est à ce moment que dit la documentation "obtenir de l'inspecteur web pour phantom contexte" Cependant, je ne vois qu'une seule entrée pour about:blank. Quand je clique dessus, j'obtiens un inspecteur de la pertinence about:blank page avec l'URL http://localhost:9001/webkit/inspector/inspector.html?page=1. La documentation parle de l'exécution de __run(), mais je n'arrive pas à accéder à la page où je le ferais; about:html semble contina un __run() qui est un no-op.

FWIW, je suis à l'aide de PhantomJS 1.9.1 sous W8.

Ce qui me manque?

  • J'utilise ceci la redirection d'un port local vers le distant de port du serveur web à la place.
InformationsquelleAutor | 2013-07-10