5

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

我在端口上运行它6666

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

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

http://localhost:6666/ 

我将第一个 URL 视为about:blank.

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

当我输入_run()控制台时,我得到

参考错误,_run 未定义错误。

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

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

更新 1

试过 --remote-debugger-autorun=yes

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

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

输出

现在我可以在 about:blank 下面看到请求的 URL。

当我单击 about:blank 或请求的 url 时,WebKit 检查器打开。

但我又被困住了。

更新 2

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

结果是一样的。我被困在一个空白的 WebKit Inspector 窗口上。

4

2 回答 2

6

尝试__run()代替_run().

您还可以在编写“调试器”时在设计时放置断点;在你的脚本中。调试器将在这些行处中断。

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

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

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

于 2013-04-02T14:00:59.653 回答
0

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

phantom.casperPath = '/usr/local/Cellar/casperjs/1.0.1/libexec/'; phantom.injectJs('/usr/local/Cellar/casperjs/1.0.1/libexec/bin/bootstrap.js');

于 2013-03-26T19:11:55.510 回答