Бесконечно выполняется скрипт JS

В общем-то я не силен в javascript, но с помощью chatGPT я пишу себе расширение для браузера. Суть в том, что скрипт создает поле, в которое я ввожу количество итераций, которое нужно проделать. После нажатия клавиши enter или кнопки принять, он начинает выполнять итерации. Страница с каждым нажатием на кнопку "Принять" обновляется. Скрипт вроде как записывает все локальное хранилище браузера и берет оттуда информацию, но в итоге выполнение скрипта продолжается до бесконечности. В чем проблема? chatGPT уже ничего не понимает, что написал и отказывается находить проблему

var intervalId; // Объявляем переменную для хранения идентификатора интервала

// Получаем ссылку на таблицу
var table = document.getElementById("table1");

// Создаем поле ввода перед таблицей
var inputField = document.createElement("input");
inputField.setAttribute("type", "number");
inputField.setAttribute("placeholder", "Введите количество нажатий");
table.parentNode.insertBefore(inputField, table);

// Функция для эмуляции клика по radio и кнопке "Принять"
function emulateClicks() {
    var count = localStorage.getItem("count"); // Получаем количество нажатий из локального хранилища

    if (!count) { // Если количество нажатий не сохранено
        count = parseInt(inputField.value); // Берем значение из поля ввода
        if (isNaN(count) || count <= 0) { // Проверяем, что введено корректное число
            alert("Пожалуйста, введите корректное положительное число.");
            return;
        }
        localStorage.setItem("count", count); // Сохраняем значение в локальное хранилище только один раз перед началом выполнения цикла
    } else {
        count = parseInt(count); // Преобразуем сохраненное значение в число
    }

    var selectedRadio = document.querySelector("input[type='radio']:checked");

    if (!selectedRadio) { // Если радио не выбрано
        alert("Пожалуйста, выберите вариант из списка.");
        return;
    }

    var clickCount = parseInt(localStorage.getItem("clickCount")); // Получаем сохраненное количество нажатий

    if (isNaN(clickCount)) { // Если количество нажатий не сохранено в локальном хранилище
        clickCount = 0; // Инициализируем счетчик нажатий
    }

    intervalId = setInterval(function() {
        selectedRadio.click(); // Эмулируем клик по выбранному radio
        document.getElementById("submit-trips").click(); // Эмулируем клик по кнопке "Принять"

        clickCount++; // Увеличиваем счетчик нажатий

        localStorage.setItem("clickCount", clickCount); // Сохраняем обновленное количество нажатий в локальном хранилище

        if (clickCount >= count) { // Если выполнено нужное количество нажатий
            clearInterval(intervalId); // Останавливаем интервал
            localStorage.removeItem("count"); // Удаляем сохраненное количество нажатий из локального хранилища
            localStorage.removeItem("clickCount"); // Удаляем сохраненное количество нажатий из локального хранилища
            localStorage.removeItem("selectedRadioId"); // Удаляем сохраненный идентификатор выбранного радио из локального хранилища
        }
    }, 1000); // Интервал в 1 секунду

    // Обновляем значение count в локальном хранилище перед каждым выполнением скрипта
    localStorage.setItem("count", count);

    // Выбираем сохраненный радио перед началом эмуляции нажатий
    var selectedRadioId = localStorage.getItem("selectedRadioId");
    if (selectedRadioId) {
        var selectedRadio = document.getElementById(selectedRadioId);
        if (selectedRadio) {
            selectedRadio.checked = true; // Выбираем сохраненное радио
        }
    }
}

// Назначаем обработчик события на радио кнопки для сохранения выбранного радио
var radioButtons = document.querySelectorAll("input[type='radio']");
radioButtons.forEach(function(radio) {
    radio.addEventListener("click", function() {
        localStorage.setItem("selectedRadioId", this.id); // Сохраняем идентификатор выбранного радио в локальном хранилище
    });
});

// Назначаем функцию emulateClicks на кнопку "Принять"
document.getElementById("submit-trips").addEventListener("click", emulateClicks);

Ответы (0 шт):