0
私は自分のコードを稼働させています。しかし、いくつかのページが掻き取られる必要があります。 私は全体のスクリプトをwhileループに入れようとしましたが、そのコードがなぜそれほど意味をなさないのかでコードを処理します。最初にキャスパー関数ではなくループを処理します。 ので、私を破壊いけないしてください、私はcasperjsにかなり新しいですし、私は多くの研究をやっている: 例:CasperJSページループ
var page = 0;
var pageLimit = 90;
//start loop
while (page < pageLimit) {
var casper = require('casper').create({
verbose: true,
logLevel: 'error',
pageSettings: {
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4'
}
var url = 'https://saucelabs.com/blog/page/' + page;
//sorry saucelabs.com i needed an example site for this post
var names = [];
function getNames() {
var names = document.querySelector('.entry-title');
var str = document.querySelector('.entry-title').textContent;
var extracted = str.replace(/(\r\n|\n|\r)/gm,"");
extracted = extracted.replace(/\s+$/, '');
return extracted;
};
casper.start(url, function() {
//getting started
});
casper.then(function() {
names = this.evaluate(getNames);
});
casper.run(function(){
this.echo(names);
this.echo("\n Successful!").exit();
page++;
});
} //end loop
提供されたコードで構文エラーが発生しました。 SyntaxError:予期しないトークン '>' –
正しく、casperがまだ更新されていないことを忘れてしまったので、ES6構文を使用しようとしました。私はコードを修正した。 –
異なるエラーnow = - ) TypeError:未定義は( 'new Array(pageLimit).fill(0)'を評価する)コンストラクタではありません –