如何使用phantomjs作为npm包

时间:2018-04-22 18:04:06

标签: node.js web-scraping phantomjs web-crawler

我正在编写一个需要phantomjs的节点脚本,我想与其他人共享该脚本,他应该能够在不在系统中单独安装phantomjs的情况下运行脚本。

我尝试在我的节点脚本(也有package.json文件)中安装它。

npm install --save phantomjs
然后我尝试运行phantomjs home page

中给出的脚本
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
  //Page is loaded!
  phantom.exit();
});

它说无法找到模块网页。如果我单独安装网页,如

 npm install --save webpage 

然后它说,创造不是一种功能。

有没有办法在没有下载并安装到系统中的情况下使用phantomjs?。

1 个答案:

答案 0 :(得分:1)

PhantomJS最初是一个单独的二进制文件,而不是一个npm模块,如果你想在自己的页面上运行一个脚本,那么就像这样运行它

select title
from book
INNER JOIN wrote on wrote.bookcode = book.bookcode
INNER JOIN author on author.authornum = wrote.authornum
WHERE author.authorFirst = 'Toni';

如果您不希望用户安装它,您可以创建一个程序,为他们安装它并运行脚本。我曾经使用过Innosetup安装程序和nwjs。

<小时/> 如果你想在npm模块中使用PhantomJS,你可以使用phantom包,但创建脚本的语法会有所不同,请参阅包页面上的示例以及examples folder