Tag: 幻影

phantom.exit和.close在phantom.js中有什么区别?

如果我正在使用phantom.js进行networking抓取点击一些button,并链接什么是方便终止程序? http://phantomjs.org/api/webpage/method/close.html http://phantomjs.org/api/phantom/method/exit.html

phantomjs 1.9.19的来源在哪里?

我试图为armv8-a处理器构build幻影版本1.9.19 。 但是,当我检出项目的github页面时 ,我发现最新的1.9.x版本是1.9.8 。 我在哪里可以find1.9.19的来源? 背景 版本1.9.19是facebooks osquery所必需的。 由于它不是预先构build的arm我不得不手动构build它和它的依赖关系。 目前它与info phantomjs@1.9.19 Failed to exec install script中断info phantomjs@1.9.19 Failed to exec install script 。

我如何从NodeJS / Expressnetworking应用程序运行CasperJS / PhantomJStesting?

问题重申: 我们如何通过运行NodeJS / Express / AngularJS的Web应用dynamic触发,运行并从CasperJS / PhantomJStesting中获取结果? 背景和调查: 让我先说这个问题,说我明白在这个问题上也有类似的问题,我已经尽力在阅读/理解方面尽职尽责。 我相信我的问题有点不同,因为我知道PhantomJS和NodeJS由于各种原因并不固有地协同工作。 曾经有过各种试图在NodeJS和PhantomJS之间“桥接”的项目。 总是出现的是phantomjs-node 。 然而,正如那个应用程序的作者所指出的,有很多的问题,PhantomJS的首席开发人员(我相信)已经表示他们不会支持NodeJS。 得到它了。 但是,有很多testing运行者似乎提供NodeJS集成并利用PhantomJS。 例如GruntJS可以利用MochaJStesting,而这些testing又可以调用JasmineJS,这显然可以通过PhantomJS来利用。 挑战/差异 我不想testing我的webapp,这似乎是唯一的用例大多数教程和问题围绕着社区。 我的用例是testing其他网站,已经生活适当的一个Web应用程序的整合。 为此,我有一个完整的NodeJS / Express / AngularJS应用程序,这是一个基于Web的testing和报告套件,我想集成CasperJS / PhantomJStesting结果。 我希望能够dynamic地将我的AngularJS前端的URL传递给我的NodeJS / Express服务器,然后它将触发我的CasperJS / PhantomJStesting,并以我可以包含在我的AngularJS报告前端中的方式返回结果。 通过从NodeJS调用单独的进程可能的解决scheme 我已经看到引用,但我现在找不到,调用一个“命令”生成一个单独的进程从NodeJS运行PhantomJS。 这是实现我的目标的最好方法(如果可能的话,我不想使用NodeJS / PhantomJS桥接器之一,告诉我我是否过于封闭)? 通过摩卡的潜在解决scheme visionmedia.github.io/mocha/ 我看了看Mocha,看起来很有希望,他们的标语是“Mocha是一个运行在node.js和浏览器上的function丰富的JavaScripttesting框架”。 但是,他们没有提供任何将这些testing引入像我这样的dynamicWeb应用程序的例子。 他们总是从假设您正在testing您的应用程序的立场出发,您将在您的应用程序之外运行一系列testing,而不是在您的应用程序中运行,正如我打算这样做的。 摩卡浏览器支持这部分看起来特别有前途。 看来我可能会在我的前端使用这个触发我的摩卡testing,对吧? 感谢您的所有帮助提前! 我很新的testing,所以我的头在这里游泳。 [编辑] 相关的问题,这不是100%回答我的问题 是否有可能从node.js运行PhantomJS作为命令行参数 使用PhantomJS和node.js保存并呈现网页 生成的node.jssubprocess的输出逐行parsing

你没有安装“phantomjs”

我已经安装了PhantomJS,但是当我运行我的Node.js代码时,出现错误(您没有安装“phantomjs”): var modules = '/home/engine/node_modules/'; var path = require('path'); var childProcess = require('child_process'); var phantom = require(modules+'phantom'); var binPath = phantom.path; phantom.create(function(browser){ // Error happens here I think because the module is found // browser.createPage(function (page){}); }); 如果在console.log binPath我得到未定义。 但是在PuTTY中,如果我: cd ~/phantomjs/ [root@engine phantomjs]# bin/phantomjs phantomjs> 我把它安装在错误的地方了吗?