我正在尝试使用 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
显示在 shell 窗口中。我打开一个浏览器页面到localhost:9001
. 正是在这一点上,文档说“获取第一个虚拟上下文的网络检查器”但是,我只看到一个about:blank
. 当我点击它时,我会得到一个检查器,用于检查不相关的 about:blank 页面,其 URL 为http://localhost:9001/webkit/inspector/inspector.html?page=1
。文档谈到了执行__run()
,但我似乎无法到达我会这样做的页面;about:html
似乎 contina a__run()
是无操作的。
FWIW,我在 W8 下使用 PhantomJS 1.9.1。
我错过了什么?