私はwaitFor()
を使用しています。以下のコード:
casper.waitFor(function check() {
return this.evaluate(function() {
return this.evaluate(someFunction, 'variable 1','variable 2','variable 3') === 'yes';
});
}, function then() {
console.log('Done');
});
これをコンソール出力として取得しています
Wait timeout of 5000ms expired, exiting.
タイムアウトを増やすにはどうすればよいですか?
編集:コードを次のように変更しました
casper.waitFor(function check() {
return this.evaluate(function() {
return this.evaluate(someFunction, 'variable 1','variable 2','variable 3') === 'yes';
});
}, function then() {
console.log('Done');
},10000);
次のエラーが表示されます。
CasperError: Invalid timeout function, exiting.
C:/filename:1720 in _check
前述のとおり、 ここ 、
署名は
waitFor(Function testFx[, Function then, Function onTimeout, Number timeout])
そのため、タイムアウトを指定する追加の引数があります。
casper.waitFor(function check() {
//...
});
}, function then() {
//...
}, function timeout() {
//...
}, TIMEOUT_IN_MS);
それを使用して、すべてのwait()関数のタイムアウトを増やします:casper.options.waitTimeout = 20000;
(20秒)
デフォルトのエラーメッセージを残したままタイムアウトを増やしたい場合は、3番目の引数としてnull
を渡し、4番目の引数として待機するミリ秒数を渡します。
casper.waitFor(function check() {
return this.evaluate(function() {
return this.evaluate(someFunction, 'variable 1','variable 2','variable 3') === 'yes';
});
}, function then() {
console.log('Done');
}, null, 10000);