У меня есть цикл for, запускающий список узлов. Я пытаюсь запустить список узлов и вызвать щелчок, затем я устанавливаю интервал ожидания для всплывающего окна, а затем хочу вызвать щелчок в этом всплывающем окне.
Моя проблема в том, что мне нужно, чтобы каждая итерация ожидала загрузки всплывающего окна и щелчка по элементу во всплывающем окне, прежде чем перейти к следующей итерации. Надеюсь, что это имеет смысл.
Вот мой код.
let checkSteats = () => {
const seats = document.querySelectorAll(seatSectionSelector);
if (seats.length < maxSeatCount) {
maxSeatCount = seats.length;
}
if (seats.length > 0) {
[].forEach.call(seats, (seat, index) => {
/**
* WE NEED TO CLICK WAIT FOR A CHANGE IN THE RESPONSE OR POP UP BEFORE WE GO INTO THE NEXT ITERATION
*/
console.log(seat)
if ((index+1) <= maxSeatCount) {
seat.dispatchEvent(
new MouseEvent('click', {
view: window,
bubbles: true,
cancelable: true,
buttons: 1
})
);
const popupInterval = setInterval(() => {
const popupBtn = document.querySelector('.ticket-option__btn');
if (popupBtn) {
popupBtn.click();
clearInterval(popupInterval);
}
}, 100)
}
});
}
};