我正在尝试为 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窗口。
答案 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');