Показать сообщение отдельно
  #10 (permalink)  
Старый 06.06.2018, 19:31
Интересующийся
Отправить личное сообщение для Alexoner Посмотреть профиль Найти все сообщения от Alexoner
 
Регистрация: 24.06.2016
Сообщений: 15

Вот страница
https://www.youtube.com/watch?v=gEIK9Tkw3KU

Вот весь код который пытаюсь применить.
(пишу его в расширении Tampermonkey браузера Chrome)
// ==UserScript==
// @name         test 23
// @namespace    YouTube
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        [url]https://www.youtube.com/*[/url]
// @grant        none
// ==/UserScript==
// [url]https://www.youtube.com/watch?v=gEIK9Tkw3KU[/url]


(function() {
    'use strict';

	window.onload = function() {

	  create_button (); // Создаёт кнопку

	  div1.onclick = function () {
				  div1_onclick();
			  }

	  var div1;

		// Создаёт кнопку
	  function create_button () {

		div1 = document.createElement('div');
		div1.innerHTML = 'кнопка';
		div1.style.zIndex = 9999;
		div1.style.marginTop = "42px";
		div1.style.color = "red";
		div1.style.fontSize = "15px";
		div1.style.background = "lime";
		div1.style.position = "fixed";
		div1.style.cursor = "pointer";
		document.body.appendChild(div1);
	  } //------ end function create_button


	  function div1_onclick (){

		window.scrollTo(0,600); // прокручивает окно для загрузки нужного элемента
		var elem1;

		get_elem();

			// ожидает загрузки нужного элемента на странице
			// innercount - счётчик попыток
		function get_elem(innercount = 0){

		 elem1 = document.getElementById('placeholder-area');

		 if (elem1 == null) {

			  // Ограничение на количество попыток поиска элемента.
		   if (innercount > 10 && innercount < 20) {

			  window.scrollTo(0,900); // прокрутить окно ещё немного

		   } if(innercount > 20) { // если прокрутка не помогла, то остановка поиска
			  alert("элемент не найден");
			  return;
		   }

		   innercount++; // количество попыток поиска
		   console.log('innercount - ' + innercount);

			  // запускается, пока не появится нужный элемент
		   setTimeout(get_elem, 1000, innercount);
		   console.log("IF: elem1 = " + elem1);

			//  элемент появился
		 } else {
		   console.log("ELSE: elem1 = " + elem1);

		  elem1.click(); // активирует загрузку блока для последующего поиска в нём

		   var open_submit_button = document.getElementById('submit-button'); // HTML-блок

		   var submit_button1 = open_submit_button.querySelector("#text"); // null...
		   var submit_button2 = open_submit_button.querySelector("yt-formatted-string"); // null...

		   // (ДРУГОЙ ПУТЬ)
		   // var submit_button_3 = document.getElementsByTagName("yt-formatted-string > ytd-button-renderer"); // collection хрень
		   // var submit_button_3 = document.querySelectorAll("yt-formatted-string > #text"); //Node хрень
		   var submit_button3 = document.getElementsByTagName("yt-formatted-string"); // куча элементов
		   //var inner_search = submit_button3.querySelector("#text"); // is not a function...
		   var inner_search = submit_button3.querySelectorAll("#text"); // is not a function...

		   console.log('Элемент 0: open_submit_button - ' + open_submit_button);
		   console.log(open_submit_button);

		   console.log('Элемент 1: submit_button1 - ' + submit_button1);
		   console.log(submit_button1);

		   console.log('Элемент 2: submit_button2 - ' + submit_button2);
		   console.log(submit_button2);

		   console.log('Элемент 3: submit_button3 - ' + submit_button3);
		   console.log(submit_button3);

		   console.log('Элемент 4: inner_search - ' + inner_search);
		   console.log(inner_search);
		 }
		} //---------- end function get_elem


	}; //------------div1.onclick = function()


  }; //------ end window.onload = function()


})();

Последний раз редактировалось Alexoner, 06.06.2018 в 19:59.
Ответить с цитированием