出于某种原因,当我尝试运行以下代码时:
var casper = require('casper').create();
var x = require('casper').selectXPath;
var links = [];
casper.start('http://www.website.com');
function getLinks() {
var links = document.querySelectorAll(x('//*[@id="horizontalList"]/li[@class="paddingRight6"]/a');
return Array.prototype.map.call(links, function(e) {
return e.getAttribute('href')
});
}
casper.then(function() {
links = this.evaluate(getLinks);
this.echo(links);
}
casper.run();
返回一个空对象,但是当我将相同的 xpath 选择器与 thenClick 方法结合使用时,一切正常,并且 url 发生了变化。为什么会这样?