Как увеличить тайм-аут в CasperJS
Я использую 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.
Как увеличить таймаут?
EDIT: я изменил код на
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
Ответы
Ответ 1
Как сказано здесь,
Подпись
waitFor(Function testFx[, Function then, Function onTimeout, Number timeout])
Итак, есть дополнительный аргумент для указания тайм-аута.
casper.waitFor(function check() {
//...
});
}, function then() {
//...
}, function timeout() {
//...
}, TIMEOUT_IN_MS);
Ответ 2
Используйте это, чтобы увеличить тайм-аут каждой функции wait(): casper.options.waitTimeout = 20000;
(20 секунд)
Ответ 3
Если вы хотите увеличить время ожидания, оставив сообщение об ошибке по умолчанию, передайте null
в качестве третьего аргумента и количество миллисекунд, чтобы ждать четвертого аргумента:
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);