За последние 24 часа нас посетили 142195 программистов и 2559 роботов. Сейчас ищут 2012 программистов ...

Как поправить код в JavaScript

Тема в разделе "JavaScript и AJAX", создана пользователем sotex2, 17 дек 2025 в 10:29.

  1. sotex2

    sotex2 Активный пользователь

    С нами с:
    28 сен 2019
    Сообщения:
    22
    Симпатии:
    0
    Доброго времени суток. Подска'ите есть
    JavaScript скрипт он применяется в зенопостере. скрипт рабочий и предназначен для клика по надписи "Показать ещё 5", где цифра может меняться. надписи "Показать ещё 5" прикреплена к конкретному блоку "Нежилые помещения" и действия осуществляются только в этом блоке. сам скрипт отрабатывает и делает клик по надписи, но когда текст полностью исчезает даже из DOM страницы, то скрипт все равно продол'ает работать. как сделать так, чтобы после пропадания надписи скрипт прекращал работу. приложил скрипт и часть кода блока HTML. КОД БЛОКА HTML из DOM приложил


    Код (Text):
    1. (function() {
    2.     // Функция для клика по кнопке "Показать ещё"
    3.     function clickShowMore() {
    4.         try {
    5.             const titles = document.querySelectorAll('.FlatGroups__Title-sc-jd2s28-15');
    6.  
    7.             for (let i = 0; i < titles.length; i++) {
    8.                 const title = titles[i];
    9.  
    10.                 if (title.textContent.trim() === 'Студии') {
    11.                     const mainWrapper = title.closest('.FlatGroups__FlatGroupWrapper-sc-jd2s28-8');
    12.  
    13.                     if (mainWrapper) {
    14.                         const showMoreBtn = mainWrapper.querySelector('.FlatGroupDetails__ButtonMore-sc-1uwm85r-3');
    15.  
    16.                         if (showMoreBtn) {
    17.                             const buttonText = showMoreBtn.textContent.trim();
    18.  
    19.                             if (buttonText.includes('Показать ещё')) {
    20.                                 console.log('Кликаем по кнопке "Показать ещё"');
    21.                                 showMoreBtn.click();
    22.                                 console.log('Кликнули по кнопке "Показать ещё"');
    23.  
    24.                                 // Задержка (блокирующая, но более совместимая)
    25.                                 var start = new Date().getTime();
    26.                                 for (var j = 0; j < 1e7; j++) {
    27.                                     if ((new Date().getTime() - start) > 1000){
    28.                                         break;
    29.                                     }
    30.                                 }
    31.  
    32.                                 return "CLICKED"; // Кликнули, нужно повторить
    33.                             } else {
    34.                                 console.log('Кнопка "Показать ещё" не содержит ожидаемый текст.');
    35.                             }
    36.                         } else {
    37.                             console.log('Кнопка "Показать ещё" не найдена.');
    38.                         }
    39.                     }
    40.                 }
    41.             }
    42.  
    43.             console.log('Кнопка "Показать ещё" отсутствует. Завершаем работу.');
    44.             return "DONE"; // Кнопки нет, заканчиваем
    45.         } catch (error) {
    46.             console.error('Произошла ошибка:', error);
    47.             return "ERROR"; // Произошла ошибка
    48.         }
    49.     }
    50.  
    51.     let result = clickShowMore();
    52.     return result; // Возвращаем результат
    53. })();
     

    Вложения: