Я хочу сделать снимок экрана полной веб-страницы, захватив плитки размера видового экрана. Это почти сделано, но я очень новичок в обещаниях, и я ищу правильный способ сделать.Цепочные обещания в цикле while в webdriver.io
Вот мой код. Проблема заключается в вызове client.execute (...). Then (...) не ждет себя между итерациями цикла. И последний «конец» не ждет предыдущего «тогда», поэтому он прокомментирован.
...
var client = webdriverio.remote(options);
...
client
...
.then(function() {
var yTile = 0;
var heightCaptured = 0;
while(heightCaptured < documentSize.height) {
var tileFile = 'screenshot-' + yTile + '.png';
client
.execute(function(heightCaptured) {
window.scrollTo(0, heightCaptured);
}, heightCaptured)
.then(function() {
console.log('captured: ' + tileFile);
client.saveScreenshot('./' + tileFile);
return client;
});
heightCaptured += viewportSize.height;
yTile++;
}
})
//.client.end()
;
Каков правильный способ использования обещаний в этом случае?
Спасибо.