Z jakiegoś powodu, gdy próbuję uruchomiony następujący kod:Korzystanie XPath z CasperJS QuerySelectorAll nie działa
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();
zwraca obiekt zerowy, ale kiedy używam bardzo sam selektor xpath w związku ze sposobem thenClick, wszystko działa dobrze i zmiany adresu URL. Dlaczego na tym koniec?
To nie jest metoda 'querySelectorAll()' CasperJS ... to przeglądarka. Spec jest przeznaczony tylko do użycia z selektorami CSS: http://www.w3.org/TR/selectors-api Wyrażenia XPath, podczas gdy są używane do wybierania rzeczy, są zupełnie inną rodziną. – BoltClock
Ah, dzięki za tę odrobinę wyjaśnienia. Zaktualizuj odpowiedź. –