# Полезные JavaScript

ВНИМАНИЕ!

Этот документ требует базовых навыков программирования.

Здесь находятся типовые JavaScript для объектов Веб-страница.

# Авторизация на сайте.

Этот JavaScript заполняет на сайте поля "Пользователь" и "Пароль", затем осуществляет вход на сайт. Текст полного скрипта:

const USERNAME="МоеИмяПользователя";
const PASSWORD="МойПароль";
const INPUT_USERNAME=1;
const INPUT_PASSWORD=2;
const inputList=document.querySelectorAll("input");
inputList[INPUT_USERNAME-1].value=USERNAME;
inputList[INPUT_PASSWORD-1].value=PASSWORD;
inputList[INPUT_PASSWORD-1].click();
const formList=document.querySelectorAll("form");
formList[0].submit();

Что делать, если не работает.

При входе на сайт необходимо заполнить поля в прямоугольниках, этим прямоугольникам соответствуют HTML-элементы типа "input".

Строка

const inputList=document.querySelectorAll("input");

Ищет на веб-странице все элементы input и и помещает их в массив.

Строка

const INPUT_USERNAME=1;

говорит, что первый найденный input предназначен для ввода имени пользователя.

Строка

const INPUT_PASSWORD=2;

говорит, что второй найденный элемент input предназначен для ввода пароля.

На странице может быть более двух элементов input, в том числе невидимые. В этом случае из скрипта нужно удалить строки, которые отвечают за вход на сайт:

inputList[INPUT_PASSWORD-1].click();
const formList=document.querySelectorAll("form");
formList[0].submit();

Теперь элементы input будут заполнены данными, посмотрите в какие элементы input попадают имя пользователя и пароль, исправьте на нужные значения

const INPUT_USERNAME=новое значение;
const INPUT_PASSWORD=новое значение;

Вернуть удаленные строки. Всё должно работать.

# Проигрывание видео с RUTUBE.

Этот JavaScript нажимает кнопку на RUTUBE, которая запускает проигрывание видео или потока. Текст скрипта:

function doClick() {
  let buttonList=document.querySelectorAll("button");
  if (buttonList.length > 2 ) {
     KeenVision.clickPos(-1, -1);
  } else {
     setTimeout(doClick, 1000); 
  }
}

doClick();

Чтобы получить значение для параметра "URL-адрес", объекта Веб-страница:

  1. Найдите нужное видео на RUTUBE
  2. Кликните по его центру правой кнопкой мыши, выполните меню "Скопировать код для вставки плеера"
  3. В текстовом редакторе (Например "Блокнот") произведите операцию "Вставить". Будет вставлен примерно такой текст:
    <iframe
      width="720"
      height="405"
      src="https://rutube.ru/play/embed/405026faf0d5c5600a18d53a9dc84cf2"
      frameBorder="0"
      allow="clipboard-write; autoplay"
      webkitAllowFullScreen
      mozallowfullscreen
      allowFullScreen
    ></iframe>
  1. В строке src=... находится искомое значение. В параметр "URL-адрес" нужно ввести:

    https://rutube.ru/play/embed/405026faf0d5c5600a18d53a9dc84cf2

# Проигрывание видео с VK.

Этот JavaScript:

  • нажимает кнопку на VK, которая запускает проигрывание видео или потока;
  • после завершения видео нажимает кнопку перемотки;
  • если выключится громкость, но нажмет кнопку включения громкости.

Текст скрипта:

var playButtonEl;
var volumeButtonEl;

function doClick() {
  let el=document.getElementsByClassName("videoplayer_big_play_btn_bg");
  if (el.length > 0) {
     KeenVision.clickElement(el[0]);
     rewindAndVolume()
  } else {
     setTimeout(doClick, 1000); 
  }
}

function rewindAndVolume() {
  if (! playButtonEl) {
	let el=document.getElementsByClassName("videoplayer_controls_item videoplayer_btn videoplayer_btn_play");
        if (el.length > 0) {
            playButtonEl=el[0];
        }
  } else {
    let state = playButtonEl.getAttribute("aria-label")
    if ( state === "Начать заново" ) {
       KeenVision.clickElement(playButtonEl);    
    }
  }

  if (! volumeButtonEl ) {
	let el=document.getElementsByClassName("videoplayer_btn_icon videoplayer_volume_icon");
        if (el.length > 0) {
            volumeButtonEl=el[0];
        }
  } else {
    let state = volumeButtonEl.getAttribute("data-value")
    if ( state === "off" ) {
       KeenVision.clickElement(volumeButtonEl);    
    }
  }
  setTimeout(rewindAndVolume, 1000);
}

doClick();

Чтобы получить значение для параметра "URL-адрес", объекта Веб-страница:

  1. Найдите нужное видео на VK
  2. Кликните по его центру правой кнопкой мыши, выполните меню "Копировать код для встраивания"
  3. В текстовом редакторе (Например "Блокнот") произведите операцию "Вставить". Будет вставлен примерно такой текст:
<iframe src="https://vkvideo.ru/video_ext.php?oid=-60984147&id=456239024&hash=6c93dfd8b4f06e1e" width="640" height="360" frameborder="0" allowfullscreen="1" allow="autoplay; encrypted-media; fullscreen; picture-in-picture"></iframe>
  1. В параметре src=... находится искомое значение. В параметр "URL-адрес" нужно ввести:

https://vkvideo.ru/video_ext.php?oid=-60984147&id=456239024&hash=6c93dfd8b4f06e1e