我在为我一直使用的 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 http://docs.casperjs.org/en/latest/quickstart.html),已保存,并且有相同的消息...
同一目录中的所有其他脚本都可以正常工作,我现在应该尝试什么?
回复:我现在该尝试什么?
您可以使用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();.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)