【问题标题】:Example Code of CasperJS is Not WorkingCasperJS 的示例代码不起作用
【发布时间】:2018-05-04 11:26:36
【问题描述】:
var casper = require('casper').create();
var links;

function getLinks() {
// Scrape the links from top-right nav of the website
var links = document.querySelectorAll('ul.navigation li a');
return Array.prototype.map.call(links, function (e) {
    return e.getAttribute('href')
});
}

// Opens casperjs homepage
casper.start('http://casperjs.org/');

casper.then(function () {
links = this.evaluate(getLinks);
});

casper.run(function () {
for(var i in links) {
    console.log(links[i]);
}
casper.done();
});

我收到与casper.start() 相关的错误,因此我测试了源代码,预计如果我的计算机与http://casperjs.org/ 中发布的其他普通计算机没有什么不同,它会正常工作。

但我收到错误消息:casper.start() is not function

听说如果我在 CasperJS 中运行 selftest.js,我可以看到问题所在。

于是我运行了它,结果是:ReferenceError: patchRequire is not defined

我认为 CasperJS 文件有问题。

【问题讨论】:

    标签: javascript casperjs


    【解决方案1】:

    我运行了你的程序,我也收到了一个错误。

    进行适当的修改后,以下代码按预期工作:

    var casper = require('casper').create();
    
    function getLinks () {
      // Scrape the links from top-right nav of the website
      var links = document.querySelectorAll('ul.navigation li a');
    
      return Array.prototype.map.call(links, function (e) {
        return e.getAttribute('href');
      });
    }
    
    // Opens CasperJS homepage
    casper.start('http://casperjs.org/');
    
    casper.then(function () {
      var links = this.evaluate(getLinks);
    
      for (var i in links) {
        this.echo(links[i]);
      }
    });
    
    casper.run();
    

    如果您在进行这些更改后仍然收到错误,我建议您使用 Official Installation Guide 重新安装 CasperJS(也可能是 PhantomJS)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 2020-12-17
      • 2017-02-19
      • 1970-01-01
      相关资源
      最近更新 更多