Подтвердить что ты не робот

Как увеличить тайм-аут в 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
4b9b3361

Ответ 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);