J'utilise waitFor()
. Le code comme ci-dessous:
casper.waitFor(function check() {
return this.evaluate(function() {
return this.evaluate(someFunction, 'variable 1','variable 2','variable 3') === 'yes';
});
}, function then() {
console.log('Done');
});
Je reçois cela comme sortie de console
Wait timeout of 5000ms expired, exiting.
Comment puis-je augmenter le délai d'attente?
EDIT: j'ai changé le code en
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);
Cela me donne l'erreur suivante:
CasperError: Invalid timeout function, exiting.
C:/filename:1720 in _check
Comme dit ici ,
La signature est
waitFor(Function testFx[, Function then, Function onTimeout, Number timeout])
Il existe donc un argument supplémentaire pour spécifier le délai d'expiration.
casper.waitFor(function check() {
//...
});
}, function then() {
//...
}, function timeout() {
//...
}, TIMEOUT_IN_MS);
Utilisez cela pour augmenter le délai d'expiration de chaque fonction wait (): casper.options.waitTimeout = 20000;
(20sec)
Si vous souhaitez augmenter le délai d'expiration tout en laissant le message d'erreur par défaut, passez null
comme troisième argument et le nombre de millisecondes à attendre comme quatrième argument:
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);