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

Как увеличить таймаут?

РЕДАКТИРОВАТЬ: я изменил код на

 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

person user2129794    schedule 13.08.2013    source источник


Ответы (3)


Как сказано здесь,

Подпись

waitFor(Function testFx[, Function then, Function onTimeout, Number timeout])

Итак, есть дополнительный аргумент для указания времени ожидания.

casper.waitFor(function check() {
    //...
    });
}, function then() {
     //...
}, function timeout() { 
//...
}, TIMEOUT_IN_MS);
person Cybermaxs    schedule 13.08.2013
comment
Вы также можете установить опцию для увеличения времени ожидания. Это значение по умолчанию для всех таймерных функций. См. следующую ссылку: ссылка - person Ryguy; 13.08.2013
comment
См. Редактировать. Я обновил код, но получаю ошибку, как показано в редактировании - person user2129794; 13.08.2013
comment
да, на самом деле третий аргумент — это обратный вызов onTimeout. Значение тайм-аута — четвертое. - person Cybermaxs; 13.08.2013

Используйте это, чтобы увеличить время ожидания каждой функции ожидания (): casper.options.waitTimeout = 20000; (20 секунд)

person Fanch    schedule 20.05.2014
comment
это значение будет использоваться для команды waitFor(), а также wait(), все в общих чертах @Fanch? - person gumuruh; 23.06.2016
comment
@gumuruh: да;) docs.casperjs.org/en/latest/ модули/casper.html#waittimeout Default wait timeout, for wait* family functions. - person Fanch; 23.06.2016

Если вы хотите увеличить время ожидания, оставив сообщение об ошибке по умолчанию, передайте 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);
person warvariuc    schedule 16.04.2015