gpt4 book ai didi

node.js - 在 Ubuntu 上同时运行 PhantomJS 和 node.js

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:56 24 4
gpt4 key购买 nike

  1. 所以我最近一直在使用 phantomjs-node 使用 the 1.7 fix在我的 Mac 上没有问题。

    但是,当我尝试在我的 Ubuntu 12.04 机器上运行它时,出现了以下问题:

    幻影标准输出:ReferenceError:找不到变量:套接字 phantomjs://webpage.evaluate():1 phantomjs://webpage.evaluate():1 phantomjs://webpage.evaluate():1

    编辑:
    导致此问题的行位于 shim.js 1684 行:

    evil = "function(){socket.emit('message', " + (JSON.stringify(JSON.stringify(req))) + " + '\\n');}";

    似乎与this PhantomJS issue有关.

    关于如何解决上述问题的任何想法都会有所帮助。

  2. 所以我尝试使用 phantom-proxy相反,因为它意味着 phantomjs-node 的最新版本。

    但是我在我的 ubuntu 12.04 机器上运行时遇到了不同类型的问题:

    SyntaxError: Parse error
    TypeError: 'undefined' is not a function (evaluating 'require('./webpage').create(this)')
    ~/node_modules/phantom-proxy/lib/server/webserver.js:11
    ~/node_modules/phantom-proxy/lib/server/webserver.js:164
    ~/node_modules/phantom-proxy/lib/server/webserver.js:165

    我确实意识到存在解析错误,但这是通过复制提供的 readme.md 中的示例之一。

    如果您对此解决方案有任何帮助,我们将不胜感激。

最佳答案

好的,我使用选项 1 解决了这个问题。

它要求我使用

做一个新的 Node 项目
    express myapp
npm install

等等,然后在我的 package.json 文件中附加依赖项:

   "phantom":"git://github.com/amir20/phantomjs-node.git#phantom-1.7-fix"
npm install

然后我测试了其中一个提供的示例:

   var phantom = require('phantom');

phantom.create(function (ph) {
console.log('instance created');
ph.createPage(function (page) {
console.log('spooled up');
page.open('http://www.google.com', function (status) {
console.log(status);
page.release();
});
});
});

这一切都正常工作。


注意: 我没有在我的 ubuntu 机器上使用代理,这就是它工作的原因,在我确实有代理的机器上,示例无法执行,这让我很惊讶它不适用于 heroku 盒子,但是我今天将进行测试并根据结果编辑此答案。


编辑

我通过在 heroku 上部署我的应用程序来检查这个解决方案。运行我的应用程序时,它在我预期的位置失败了:

    phantom stdout: ReferenceError: Can't find variable: socket
phantomjs://webpage.evaluate():1
phantomjs://webpage.evaluate():1
phantomjs://webpage.evaluate():1

这是因为除非您指定代理设置,否则 phantomjs-node 无法在代理后面工作,并且由于我在 heroku 上运行,所以我无法指定这些设置。

关于node.js - 在 Ubuntu 上同时运行 PhantomJS 和 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13490324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com