0

I am trying to create a NodeJS program that utilizes CasperJS within it. I have run into the error that the module 'casper' cannot be found. As a result, I have tried to npm install spooky --save as I have read around that it is a driver, but I am still getting the same error as I was getting before.

Also, before trying to install SpookyJS, I tried

 var phantom = require('phantom');

 phantom.casperPath = '/path/to/casperjs';
 phantom.injectJs(phantom.casperPath + '/bin/bootstrap.js');

Which then gave me the error that injectJs is not a function. Any and all help appreciated.

4

2 回答 2

0

您不能将 js 文件包含到幻像中。你需要打开一个页面,然后你可以在其中包含js。页面将接受 js 文件。不是幻影。

请参考这里

includeJs(url, 回调) {void}

在页面上包含来自指定 url(通常是远程位置)的外部脚本,并在完成时执行回调。

于 2017-05-25T14:55:18.107 回答
0

首先,为了具体一点,这里给大家一个重要的提醒:

虽然 CasperJS 可以通过 npm 安装,但它不是 NodeJS 模块,并且不能与 NodeJS 一起使用。您无法通过在节点中使用 require('casperjs') 来加载 casper。请注意,CasperJS 无法使用绝大多数 NodeJS 模块。尝试并使用您的最佳判断。

这就是SpookyJS发挥作用的地方……但是如何让它发挥作用呢?(我假设你在 Linux 上。)

1.确保你有合适的环境

  • Node.js >= 0.8
  • PhantomJS >= 1.9
  • CasperJS >= 1.0

注意: SpookyJS 在我的电脑(Arch Linux)上工作,我有以下设置:

node --version---> v7.7.4
npm --version ---> 4.4.4
phantomjs --version ---> 2.1.1
casperjs --version ---> 1.1.3

PhantomJSCasperJS是全局安装的。

2.在本地安装SpookyJS(及其依赖tiny-jsonrpc:)

创建一个空目录并在其中运行npm i spooky tiny-jsonrpc。我们在这里不需要 a package.json,所以你可以忘记--saveor --save-dev

3. 测试给定的例子

如果安装了 SpookyJS,你应该有一个本地node_modules目录。现在,尝试运行以下命令:

node node_modules/spooky/examples/hello.js

如果您收到“您好,来自 Spooky the Tuff Little Ghost - Wikipedia ”,恭喜!您现在可以将 SpookyJS 集成到您的项目中,但您必须尊重hello.js...

于 2017-05-25T16:27:15.307 回答