Я только что подобрал node.js и селен на днях, поэтому прошу прощения за этот вступительный вопрос, но я не смог найти ответ на этот вопрос. Я написал сценарий .js, который использует webdriverio. Чтобы использовать это, я открываю 2 cmd окна (я запускаю окна 7), где я набираю selenium-standalone start
, чтобы открыть селен. Затем я бегу в другом node ..../script.js
. Это делает меня красивым браузером, который делает то, что, как предполагается, 1/10. В других 9/10 раз я получаю сеанс, удаленный из-за таймаута клиента. Поскольку это должно быть быстрым и легким, мне все равно, если это время, я просто хочу, чтобы он перезапустил этот процесс. Любые предложения, как это сделать?running node.js и selenium on winddows
0
A
ответ
0
Из-за этого звука ваша программа node.js может пытаться подключиться к серверу Selenium, но без достаточного времени для того, чтобы он мог надежно установить браузер. Может быть случай для использования .pause(10000)
как в:
var Selenium = function() {
this.client = webdriverio.remote(options);
};
Selenium.prototype.refreshURL = function (url, cb) {
var self = this;
this.client
.init()
.url(url)
.pause(10000)
// etc.
}
0
Хороший обходной путь для установки паузы является использование Waitfor * - Есть несколько вариантов, как http://webdriver.io/api/utility/waitForVisible.html или http://webdriver.io/api/utility/waitForExist.html
.waitForVisible('body', 20000000).then(function(isVisible){
//.. you can add also small timeout here to dodge low hardware lags
});
рестарта, какой процесс? –