- Автор темы
- #1
Доброго времени суток. Подскажите есть скрипт он применяется в ZennoPoster. скрипт рабочий и предназначен для клика по надписи "Показать ещё 5", где цифра может меняться. надписи "Показать ещё 5" прикреплена к конкретному блоку "Нежилые помещения" и действия осуществляются только в этом блоке. сам скрипт отрабатывает и делает клик по надписи, но когда текст полностью исчезает даже из DOM страницы, то скрипт все равно продолжает кликать. как сделать так, чтобы после пропадания надписи скрипт прекращал работу. приложил скрипт и код из DOM.
JavaScript:
(function() {
// Функция для клика по кнопке "Показать ещё"
function clickShowMore() {
try {
const titles = document.querySelectorAll('.FlatGroups__Title-sc-jd2s28-15');
for (let i = 0; i < titles.length; i++) {
const title = titles[i];
if (title.textContent.trim() === 'Нежилые помещения') {
const mainWrapper = title.closest('.FlatGroups__FlatGroupWrapper-sc-jd2s28-8');
if (mainWrapper) {
const showMoreBtn = mainWrapper.querySelector('.FlatGroupDetails__ButtonMore-sc-1uwm85r-3');
if (showMoreBtn) {
const buttonText = showMoreBtn.textContent.trim();
if (buttonText.includes('Показать ещё')) {
console.log('Кликаем по кнопке "Показать ещё"');
showMoreBtn.click();
console.log('Кликнули по кнопке "Показать ещё"');
// Задержка (блокирующая, но более совместимая)
var start = new Date().getTime();
for (var j = 0; j < 1e7; j++) {
if ((new Date().getTime() - start) > 1000){
break;
}
}
return "CLICKED"; // Кликнули, нужно повторить
} else {
console.log('Кнопка "Показать ещё" не содержит ожидаемый текст.');
}
} else {
console.log('Кнопка "Показать ещё" не найдена.');
}
}
}
}
console.log("Показать ещё" отсутствует. Завершаем работу.');
return "DONE"; // Кнопки нет, заканчиваем
} catch (error) {
console.error('Произошла ошибка:', error);
return "ERROR"; // Произошла ошибка
}
}
let result = clickShowMore();
return result; // Возвращаем результат
})();