在casperjs中使用concat时出错

时间:2015-07-30 17:58:18

标签: javascript web-scraping phantomjs automated-tests casperjs

这是我的代码:

var elements = [];
var casper = require('casper').create();

function getElements() {
   var elements = document.querySelectorAll('ol.nav-primary > li > a');
   return Array.prototype.map.call(elements, function(e) {
        return e.getAttribute('class');
   });
}

casper.start('URL', function() {
   this.waitUntilVisible('ol.nav-primary');
   casper.then(function() {
       this.echo("Nav bar is visible");
   });
});

casper.then(function() {
   elements = this.evaluate(getElements);
});

casper.then(function() {
   elements = elements.concat(this.evaluate(getElements));
});

casper.run(function() {
   this.echo(elements.length + ' elements found:');
   this.echo(' - ' + elements.join('\n - ')).exit();
});

当我运行测试时,这是我得到的错误:

TypeError: 'null' is not an object (evaluating 'elements.concat')

我只是想编写一个简单的脚本来运行并获取一个类列表,以便在将来的自动化测试中使用。我基本上使用了casperjs用作脚本的确切代码来刮取google并返回在搜索中拉出的链接。

我不知道为什么会出现这个错误。

0 个答案:

没有答案