Я пытаюсь просмотреть список ссылок и выполнить несколько действий с каждой из них. Я могу перебирать элементы, используя элементы, но используя click внутри forEach не блокирует следующий шаг в forEach, и Selenium сходит с ума, поскольку он пытается продолжить выполнение действий с элементами больше не в DOM.
var q = require("q");
var webdriverio = require('webdriverio');
var options = {
desiredCapabilities: {
browserName: 'chrome'
}
};
var clicks = [];
var runner = webdriverio.remote(options);
runner
.init()
.url('https://www.google.dk/search?q=burrito')
.elements(".r").then(function(res){
res.value.forEach(function(elem){
console.log(elem);
clicks.push(
runner
.elementIdClick(elem.ELEMENT)
.pause(5000)
.back()
.pause(2000)
);
});
return q.all(clicks);
});
Как мне убедиться, что следующая итерация в forEach не будет запущена до того, как весь код будет выполнен внутри forEach?
Изменить: я должен был упомянуть, что уже пробовал https://github.com/webdriverio/webdriverio/issues/941 и https://github.com/webdriverio/webdriverio/issues/273 < / а>. Я обновил свой образец кода чем-то более конкретным.