CasperJS远程调试选项

时间:2013-01-02 06:20:44

标签: remote-debugging phantomjs casperjs

我正在尝试为 casperJS 使用远程调试选项。

我在端口6666上运行此功能。

$casperjs --remote-debugger-port=6666 myscript.js

调试器启动,我可以访问url上的WebKit检查器

http://localhost:6666/ 

我看到第一个网址为about:blank

当我点击它时,网页检查器会加载。

当我在控制台中输入_run()时,我正在

引用错误,_run未定义错误。

我无法继续前进。如果我需要在某处进行更正,请告诉我。

另外,我是否必须在CasperJS脚本中设置显式断点。如果必须,那怎么样?

更新1

尝试--remote-debugger-autorun = yes

$casperjs --remote-debugger-port=6666 --remote-debugger-autorun=yes myscript.js

这会立即按照帮助中的说明运行脚本。但是,调试器仍然运行,并且进程不会退出。

输出

现在我可以在下面看到请求的网址:空白。

当我点击about:blank或request url时,WebKit检查器会打开。

但我再次陷入困境。

更新2

还试图执行用phantomJS移植的示例。

结果相同。我被困在一个空白的WebKit Inspector窗口。

2 个答案:

答案 0 :(得分:6)

尝试使用__run()代替_run()

当你编写“debugger”时,你也可以在设计时放置断点。在你的脚本中。调试器将在这些行中断。

我现在正在研究另一个问题 - casper.exit()函数不会终止幻像进程。它显示以下行:

Phantom::exit() called but not quitting in debug mode.

需要手动终止该过程...

答案 1 :(得分:0)

我找不到票据ATM,但我认为你不能在调试器模式下启动casperJS。但是,您可以将CasperJS作为PhantomJS脚本的库:

phantom.casperPath ='/ usr / local / Cellar / casperjs / 1.0.1 / libdc /'; phantom.injectJs( '的/ usr /本地/地窖/ casperjs / 1.0.1 /的libexec / bin中/ bootstrap.js');