PhantomJS'要求无法加载浏览器

时间:2015-08-11 10:50:49

标签: javascript browser phantomjs

这是我的代码:

<html>
<body>
  <script src="bin/phantomjs"></script>
  <script src="js/test.js"></script>
</body>
</html>

在test.js里面

var page = require('webpage').create();
console.log('The default user agent is ' + page.settings.userAgent);
page.settings.userAgent = 'SpecialAgent';
page.open('http://www.httpuseragent.org', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var ua = page.evaluate(function () {
            return document.getElementById('myagent').innerText;
        });
        console.log(ua);
    }
    phantom.exit();
});

使用Chrome查看时出现这些错误。

  

未捕获的SyntaxError:意外的令牌ILLEGAL
  test.js:1未捕获的ReferenceError:未定义require

我想在我的html项目中加载PhantomJS,以便我可以开始搜索网站。

1 个答案:

答案 0 :(得分:0)

PhantomJS是一个独立的应用程序/浏览器,它采用JavaScript编写的脚本并驱动无头浏览器组件。您无法将该脚本加载到浏览器中并驱动PhantomJS或使用该脚本执行的浏览器。它与node.js相似,因为您不能简单地在浏览器中运行node.js脚本。请注意,node.js和PhantomJS具有不同的执行环境。

如果您想从客户端浏览器触发PhantomJS脚本,您可以从客户端浏览器向您的服务器发出HTTP请求,您可以通过exec()或类似的方式调用PhantomJS脚本服务器框架/语言,在服务器上计算结果并将其发送回客户端。