casperjs exit()/ die()不返回当前目录

时间:2014-09-16 14:13:57

标签: javascript command-line phantomjs casperjs

我对casperjs很新(在phantomjs上运行) - 我确定我可能在这里错过了一个基本的编程元素;想看看是否有人有一些见解。在我的脚本结束时,我调用casper.exit(),它确实退出脚本并且似乎退回到当前目录,但是当前目录不会显示在命令窗口中。

我认为它与脚本本身无关,即使是最基本的脚本也可以复制。以下是结果的屏幕截图:

casperjs exit png

黄色圆圈在.exit()调用之后,我希望看到cd(用红色加下划线)

我尝试使用类似结果的casper.die()

虽然这不是什么大问题,但对于那些不熟悉casper / phantom和脚本本身的人来说可能会让人感到困惑。我想我还有几个问题:

  1. 是否构建了phantomjs / casperjs的预期行为?
  2. 如果没有,这是一个“坏”的事情吗? (影响记忆,堆叠等)
  3. 有没有办法使用casper / phantom或脚本本身的其他方法返回CD?
  4. 加分问题..使用casper.die()casper.exit()之间有区别吗?我看到.die()记录了状态消息,但除此之外是否有一个停止脚本执行的首选方法,还是只是语法,as in PHP

1 个答案:

答案 0 :(得分:1)

这是windows上可执行的casperjs的正常行为。这可能与可执行文件的python部分有关,因为phantomjs没有这种行为。

另一个指标是,当casperjs运行像描述here之类的幻像时,没有这样的行为,退出后我得到一个正常的提示。

我想说,这是一个美容问题,当你第一次遇到它时可能会让你失望。这不是一个真正的问题。

关于红利问题: die可以被视为鸽友exit,因为它本身会调用exit,但它是一种更受控制的退出方式卡斯帕。有一个可选的消息以红色写入stout,另外还有一个die事件处理程序。 die还设置脚本的执行时间。