这是我的代码:
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并返回在搜索中拉出的链接。
我不知道为什么会出现这个错误。