0
この質問はsimilartoothersですが、私が持っていた問題はより基本的でした。CasperJSは各URLをループします
は、これは私のコードです:
var links = [];
var casper = require('casper').create();
function getLinks() {
var links = document.querySelectorAll('div#mw-content-text table.wikitable tbody tr td i b a');
return Array.prototype.map.call(links, function(e) {
return 'https://en.wikipedia.org' + e.getAttribute('href');
});
}
casper.start('https://en.wikipedia.org/wiki/David_Bowie_discography');
casper.then(function() {
// aggregate results for the 'casperjs' search
links = this.evaluate(getLinks);
});
casper.each(links, function (self, link) {
self.thenOpen(fullURL, function() {
this.echo(this.getTitle() + " - " + link);
});
});
casper.run();
私はそれがQuickstartからコピーされるようlinks
が作成されますことを知っているが、私は、それが発見されたすべてのリンクを開くように変更しました。
私が得意とするのは、私が期待している各タイトルを出力するのではなく、何もエコーされないということです。これは私がファイルを呼んでいる方法です:
~ $ casperjs casper-google-disco.js