Задать вопрос

Как максимально быстро кликнуть на элемент в браузере?

Привет, хабр. Есть потребность реализовать расширение-кликер для хрома. У меня есть АМО CRM в ней нам падают лиды, далее, кто первый успел взять лид нажатием кнопки "принять" на всплывающем окне, тот и будет с ним работать. У моей коллеги, написан, какой-то софт/расширение, которое кликает на эту кнопку ещё до появления её в визуальной части сайта. Написал такой скрипт:
// Функция для отслеживания появления и нажатия на элемент
function observeAndClickElement() {
    const targetSelector = '.f5-notifier-notification-action_btn';

    // Функция для нажатия на элемент
    function clickElement(element) {
        if (element) {
            // Вызов функции клика
            element.click();
            console.log("Кнопка в уведомлении была нажата");
        }
    }

    // Функция для рекурсивной проверки наличия элемента
    function checkForElement() {
        const notificationButton = document.querySelector(targetSelector);
        clickElement(notificationButton);

        // Запуск следующей проверки
        requestAnimationFrame(checkForElement);
    }

    // Запуск первой проверки
    checkForElement();
}

// Запуск отслеживания и нажатия на элемент
observeAndClickElement();

С таким скриптом, коллега всё равно берёт все заявки, а значит каким-то образом раньше меня получает информацию, о полявлении кнопки. Дсотупа к какой-либо серверной части нет ни у меня, ни у неё.
Как можно оптимизировать/переписать код чтобы стать первым или хотябы забирать часть её заявок, если вдруг потолком будет скорость интернета и другие факторы на которые я не смогу повлиять?
  • Вопрос задан
  • 2631 просмотр
Подписаться 8 Простой 9 комментариев
Ответ пользователя tltary К ответам на вопрос (8)
@tltary
Может попробовать без проверки?
Сразу напрямую кликать, элемент появится он кликнет

типо такого
setInterval(() => {
    document.querySelector('knopka')?.click()
}, 100)


Пока браузер не обновишь оно и будет кликать, сделать отдельно маленькое окно, пусть себе висит
Кажется пока ты пытаешься проверить, она в тупую бьет по кнопке
Ответ написан