Я пытаюсь настроить удалённую отладку с помощью PhantomJS без большой удачи. Я следую инструкциям в https://github.com/ariya/phantomjs/wiki/Troubleshooting. У меня есть небольшая программа с именем 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));
Теперь я запускаю это из командной строки:
$ phantomjs --remote-debugger-port=9001 --remote-debugger-autorun=yes debug.js my.xhtml
Теперь сообщения console.log
отображаются в окне оболочки. Я открываю страницу браузера localhost:9001
. Именно в этот момент в документации говорится: "Получите первый веб-инспектор для контекста phantom". Однако я вижу только одну запись для about:blank
. Когда я нажимаю на это, я получаю инспектор за неуместную: пустую страницу с URL http://localhost:9001/webkit/inspector/inspector.html?page=1
. В документации говорится о выполнении __run()
, но я не могу попасть на страницу, где я бы это сделал; about:html
кажется contina a __run()
, который является не-op.
FWIW, я использую PhantomJS 1.9.1 под W8.
Что мне не хватает?