Больше нельзя пропускать рекламу на YouTube через консоль браузера

Вопрос или проблема

Больше нельзя пропускать рекламу на YouTube через консоль браузера

У меня есть скрипт, который я использовал для вставки в консоль разработчика, и реклама на YouTube пропускалась, если кнопка “Пропустить рекламу” была видима.

setInterval(()=>{try{ var elements = document.getElementsByClassName("ytp-skip-ad-button__text"); var skipAdBtn = elements?.[0];console.log("пропустить рекламу:",skipAdBtn);skipAdBtn.click(); } catch(err){} },5000)

Однако за последние несколько месяцев это перестало полностью работать.
Я проверил, что кнопка “Пропустить рекламу” на самом деле выбирается скриптом (см. 1 на изображении ниже), просто клик не происходит. Также, когда я кликаю вручную, реклама пропускается:

вставьте описание изображения здесь

Я использую Google Chrome. Я пробовал режим инкогнито и даже Microsoft Edge, но проблема остается той же.
Любая помощь будет весьма оценена.

Ответ или решение

Судя по вашему описанию, текущий скрипт для пропуска рекламы на YouTube не работает, хотя кнопка «Пропустить рекламу» определяется, но клик по ней не срабатывает. Это может быть связано с тем, что YouTube изменил свою систему управления событиями или защиту от автоматизации действий.

Вот несколько возможных решений и альтернативных подходов:

  1. Использование метода click() с созданием события:
    Иногда простая реализация метода click() может не сработать из-за ограничений браузера. Вместо этого попробуйте создать событие клика и инициировать его:

    setInterval(() => {
       try {
           const elements = document.getElementsByClassName("ytp-skip-ad-button__text");
           const skipAdBtn = elements?.[0];
    
           if (skipAdBtn) {
               const event = new MouseEvent('click', {
                   view: window,
                   bubbles: true,
                   cancelable: true
               });
               skipAdBtn.dispatchEvent(event);
               console.log("Использовать 'пропустить рекламу':", skipAdBtn);
           }
       } catch (err) {
           console.error(err);
       }
    }, 5000);
  2. Использование MutationObserver:
    Если кнопка «Пропустить рекламу» появляется динамически, можно использовать MutationObserver, чтобы отслеживать изменения в DOM и автоматически кликать по кнопке, когда она становится доступной:

    const observer = new MutationObserver(() => {
       const skipAdBtn = document.querySelector(".ytp-skip-ad-button");
       if (skipAdBtn) {
           skipAdBtn.click();
           console.log("Реклама пропущена");
       }
    });
    
    observer.observe(document.body, {
       childList: true,
       subtree: true
    });
  3. Использование расширения для браузера:
    Если описанные выше подходы по каким-то причинам не работают, можно рассмотреть возможность использования расширения для браузера, которое управляет рекламой. Существуют расширения, такие как AdBlock и uBlock Origin, которые могут блокировать рекламу вовсе.

  4. Проверка обновлений:
    Убедитесь, что ваш браузер и его расширения обновлены до последней версии. Иногда проблемы могут быть вызваны конфликтами версий или изменениями в API.

  5. Проверка настроек конфиденциальности:
    Убедитесь, что ваши настройки конфиденциальности в браузере не блокируют выполнение скриптов или вводят другие ограничения на выполнение JavaScript-кода.

Следуйте этим шагам, и, надеюсь, один из них поможет вам устранить проблему с пропуском рекламы на YouTube. Если ни один из этих методов не сработает, возможно, стоит подождать, пока не появятся новые решения, так как YouTube может адаптироваться к сценариям автоматизации.

Оцените материал
Добавить комментарий

Капча загружается...