Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Нажать на кнопки после полной загрузки страницы (https://javascript.ru/forum/events/83832-nazhat-na-knopki-posle-polnojj-zagruzki-stranicy.html)

voraa 30.03.2022 10:40

Цитата:

Сообщение от firsmember
а все вместе нет.

Как бы Вы поняли фразу "телевизор не работает"?
Вообще не включается?
Включается, но нет изображения (черный экран)?
Экран светится, но картинки нет (рябь на экране)?
Картинка есть, но нет звука?
.....
.....

Здесь тоже самое.
Что именно происходит?
Сообщения об ошибках?
До второго клика дело вообще не доходит?
Второй (и последующие) клики проходят, но DOM на этих кнопках не меняется?
DOM меняется, но неправильно?
......
......

firsmember 30.03.2022 10:48

Цитата:

Сообщение от voraa (Сообщение 544433)
Что именно происходит?
Сообщения об ошибках?
До второго клика дело вообще не доходит?
Второй (и последующие) клики проходят, но DOM на этих кнопках не меняется?
DOM меняется, но неправильно?

Сообщений об ошибках нет,
Первый клик проходит как положено - все супер, 2й и последующий клик будто не проходят но там есть возможность в каждом квизе включить прогресс бар который имеет абсолютное позиционирование и просто скрыт до появления квиза (до нажатия кнопки), так вот включив его, я понял что клики проходят, так как появляется этот прогрессбар, но вот кнопка не исчезает и квиз не появляется - получается, что все клики кроме первого проходят но DOM меняется неправильно...

voraa 30.03.2022 11:09

Может быть плагин не позволяет одновременно обрабатывать несколько кликов. Можно попробовать (проверить это), выполняя клики не сразу, а с временной задержкой, скажем в 3 сек.

window.onload = () => {
	bts = document.querySelectorAll('input.ays_next.start_button.action-button[value="Начать"]')
	let i=0, n = bts.length;
	const bclick = () => {
		bts[i++].click();
		if (i<n) setTimeout(bclick, 3000);
	}
	bclick();
}

firsmember 30.03.2022 11:22

Цитата:

Сообщение от voraa (Сообщение 544435)
Может быть плагин не позволяет одновременно обрабатывать несколько кликов. Можно попробовать (проверить это), выполняя клики не сразу, а с временной задержкой, скажем в 3 сек.

Да, я так и подумал, когда написал вам 2е свое сообщение в этом топике, когда спросил про задержку)))

Круто, кровью и потом именно этот способ сработал! Спасибо большое!! :dance:

voraa 30.03.2022 11:26

Тут дело не в задержке после загрузки страницы, а именно в задержке между кликами. Вероятно плагин запускает какие то асинхронные операции, и написан так, что не может правильно выполнить следующую, пока не закончилась предыдущая.

firsmember 30.03.2022 11:41

Понял, благодарю! В любом случае, вышло простое и отличное решение..


Часовой пояс GMT +3, время: 18:18.