CasperJS“无法加载脚本”

时间:2014-01-28 01:50:25

标签: casperjs

我在为casperJS编写新脚本时遇到了一个最奇怪的问题,我一直在使用它。

当我尝试使用“casperjs myScript.js”启动脚本时,我得到以下内容:

Unable to load script /var/www/scrapers/myScript.js; check file syntax

我检查了我的语法,发现没有错,chmod + x文件,sudoed一切,仍然相同。

更奇怪的是,我从快速启动(http://docs.casperjs.org/en/latest/quickstart.html)中复制了示例代码,保存了相同的消息......

同一目录中的所有其他脚本都在运行,我现在该尝试什么?

1 个答案:

答案 0 :(得分:4)

回复:我现在尝试什么?

您可以使用xxd查看文件内部。查看注释,您现在有一个工作版本和一个非工作版本,因此可以并排比较它们以了解问题所在。 (如果它们相同,那么你知道你正在寻找文件系统级别的东西,而不是文件内部。)

(xxd附带vi软件包,如果安装vim,显然也适用于Windows。)

以下是包含和不包含UTF-8 BOM的脚本的示例输出(顺便说一下,这些脚本没有区别:这两个脚本都起作用,至少在Ubuntu上使用CasperJS 1.1):

0000000: efbb bf76 6172 2063 6173 7065 7220 3d20  ...var casper = 
0000010: 7265 7175 6972 6528 2763 6173 7065 7227  require('casper'
0000020: 292e 6372 6561 7465 2829 3b0a 0a63 6173  ).create();..cas
0000030: 7065 722e 7374 6172 7428 2768 7474 703a  per.start('http:
0000040: 2f2f 676f 6f67 6c65 2e63 6f6d 2f27 2c20  //google.com/', 
0000050: 6675 6e63 7469 6f6e 2829 207b 0a20 2020  function() {.   
0000060: 2074 6869 732e 6563 686f 2874 6869 732e   this.echo(this.
0000070: 6765 7454 6974 6c65 2829 293b 0a7d 293b  getTitle());.});
0000080: 0a0a 6361 7370 6572 2e72 756e 2829 3b0a  ..casper.run();.


0000000: 7661 7220 6361 7370 6572 203d 2072 6571  var casper = req
0000010: 7569 7265 2827 6361 7370 6572 2729 2e63  uire('casper').c
0000020: 7265 6174 6528 293b 0a0a 6361 7370 6572  reate();..casper
0000030: 2e73 7461 7274 2827 6874 7470 3a2f 2f67  .start('http://g
0000040: 6f6f 676c 652e 636f 6d2f 272c 2066 756e  oogle.com/', fun
0000050: 6374 696f 6e28 2920 7b0a 2020 2020 7468  ction() {.    th
0000060: 6973 2e65 6368 6f28 7468 6973 2e67 6574  is.echo(this.get
0000070: 5469 746c 6528 2929 3b0a 7d29 3b0a 0a63  Title());.});..c
0000080: 6173 7065 722e 7275 6e28 293b 0a         asper.run();.