CasperJS “unable to load script”

时光总嘲笑我的痴心妄想 提交于 2019-12-23 22:32:25

问题


I have the strangest issue while writing a new script for casperJS, which I use all the time.

When I try to launch the script, using "casperjs myScript.js, I get the following :

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

I checked my syntax and found nothing wrong, chmod +x the file, sudoed everything, still the same.

Even stranger, I copypasted the example code from the quickstart (http://docs.casperjs.org/en/latest/quickstart.html), saved , and same message...

All my other scripts in the same directory are working, what do I try now?


回答1:


Re: what do I try now?

You can use xxd to look inside the files. Looking at the comments, you now have a working version and a non-working version, so can compare them side-by-side to understand what the problem was. (And if they are identical then you know you are looking for something at the file system level, not inside the files.)

(xxd comes with the vi package, and apparently is also available for Windows if you install vim.)

Here is sample output for a script with and without the UTF-8 BOM (which, incidentally, made no difference: both these scripts worked, at least with CasperJS 1.1 on Ubuntu):

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();.


来源:https://stackoverflow.com/questions/21395377/casperjs-unable-to-load-script

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!