Как вставить в инпут слово и отправить его? (В браузере(ютуб))

вопрос простой и глупый, но надеюсь на вашу помощь.

Я хочу вставить в инпут на странице слово и отправлять его раз в минуту(делаю через обычную консоль). Написать цикл с таймером не проблема, но как добраться до самого инпута, как засунуть туда своё слово и как это отправить я не знаю.

document.querySelector(".style-scope yt-live-chat-text-input-field-renderer").dispatchEvent(new Event('change')) я попробовал вот это, в браузере дает true, но че делать дальше хз))

сообщение


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

Автор решения: RSK

Получаем елемент по его id. Если там есть какой то не нужный нам текст, то используем innerHTML = '', если пустой, то можно и без этого а просто .innerHTML = 'Тест'. Должно работать

let divInput = document.getElementById("input");
divInput.innerHTML = '';
divInput.innerHTML = 'Тест';

Потом находим кнопку и нажимаем её

let button = document.getElementById('Btn');
button.click();
→ Ссылка
Автор решения: Jack Black

Привожу пример работающего кода

    const startSpam = (message, sec) => {
      let messageCount = 1;
      const intervalTime = sec * 1000;

      setInterval(() => {
        const iFrame = document.querySelector(
          'iframe.style-scope.ytd-live-chat-frame',
        );
        const input = iFrame.contentDocument.querySelector(
          '#input.yt-live-chat-text-input-field-renderer',
        );

        input.focus();
        // вот тут нужно менять сообщение с текстом(например убрать 
        // (${messageCount}) чтобы не выводить количество
        input.innerText = `${message} (${messageCount})`;
        input.dispatchEvent(new Event('input'));
        setTimeout(() => {
          const sendButton = iFrame.contentDocument.querySelector(
            'button.yt-spec-button-shape-next[aria-label="Отправить"]',
          );

          if (sendButton) {
            sendButton.click();
          }
        }, 100 + messageCount);
        messageCount++;
      }, intervalTime || 1000);
    };

    startSpam('Начинаем приколы!', 60);
    // Выведет в чат стрима "Начинаем приколы! (1)" "Начинаем приколы! (2)"
    // и так далее будет спамить раз в минуту

ВАЖНО: если у вас стоит язык в браузере отличный от русского то в константе sendButton, а именно в querySelector надо поменять [aria-label="Отправить"] слово "Отправить" на слово из вашего языка, для английского это "Send"

→ Ссылка