Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Подскажите что добавитьв скрипте?

Страниц (1): [1]
 

1. classic1698 - 06 Июля, 2018 - 14:56:20 - перейти к сообщению
Привет друзья. Подскажите что добавить, при повторном появлении окна отписки в инстаграм.
Пользуюсь вот этим скриптом:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Element.prototype.parents = function(selector) {
  3.   var elements = [];
  4.   var elem = this;
  5.   var ishaveselector = selector !== undefined;
  6.  
  7.   while ((elem = elem.parentElement) !== null) {
  8.     if (elem.nodeType !== Node.ELEMENT_NODE) {
  9.       continue;
  10.     }
  11.  
  12.     if (!ishaveselector || elem.matches(selector)) {
  13.       elements.push(elem);
  14.     }
  15.   }
  16.  
  17.   return elements;
  18. };
  19.  
  20.  
  21. console.info('Открыли список подписок');
  22. document.querySelector('a[href*="following"]').dispatchEvent(
  23.   new MouseEvent('click', {bubbles: true, cancelable: true})
  24. );
  25.  
  26.  
  27. setTimeout(function() {
  28.   var timeout = 45; // seconds
  29.  
  30.   console.warn(
  31.     'Скрипт начал работу: первая и последующие отписки будут через '
  32.     + timeout + ' секунд'
  33.   );
  34.  
  35.   function clickToButtonUnsubscribe(selectorButtons, $ulWrapper, iteration) {
  36.     iteration = typeof(iteration) === 'number' ? iteration : 1;
  37.  
  38.     var $button = document.querySelector(selectorButtons);
  39.  
  40.     if ($button) {
  41.       setTimeout(function() {
  42.         $button.dispatchEvent(
  43.           new MouseEvent('click', {bubbles: true, cancelable: true})
  44.         );
  45.  
  46.         var tmpScrollTop = $ulWrapper.scrollTop;
  47.         $ulWrapper.scrollTop = $ulWrapper.scrollTop + $ulWrapper.scrollHeight;
  48.         setTimeout(function() { $ulWrapper.scrollTop = tmpScrollTop; }, 100);
  49.  
  50.         console.info(
  51.           'Кликнул по кнопке №' + iteration + ' и проскролил список',
  52.           {
  53.             datetime: new Date(),
  54.             $button,
  55.             $ulWrapper
  56.           }
  57.         );
  58.        
  59.         clickToButtonUnsubscribe(selectorButtons, $ulWrapper, iteration + 1);
  60.       }, timeout * 1000);
  61.     } else {
  62.       console.warn('Скрипт завершил работу: нет кнопоки для отписки');
  63.     }
  64.   }
  65.  
  66.   clickToButtonUnsubscribe(
  67.     'button._5f5mN.-fzfL.KUBKM.yZn4P', // selector of buttons for unsubscribe
  68.     document.querySelector('div.j6cq2') // selector for wrapper of ul-tag
  69.   );
  70. }, 2000);
  71.  

Вставляю в консоль Хрома.

Но на некоторых аккаунтах появляется ещё одно окно отписки:

Нажмите для увеличения

Нажмите для увеличения


код окна следующий
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div class="pbNvD fPMEg " role="dialog"><button aria-hidden="true" class="g0AG9" tabindex="-1"></button><div class="piCib"><div class="dsJ8D"><div class="xlTJg"><div class="G3yoz"><img src="https://scontent-arn2-1.cdninstagram.com/vp/869c5046d91f0584aacd07ee72b793a3/5BD4B25A/t51.2885-19/s150x150/35259174_1025780487591057_6467851780020502528_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9" width="90" height="90" alt="User avatar"></div></div></div><div class="_08v79"><div class="_5awHz  YHqnk">Отменить подписку на @maked_mc?</div></div><div class="mt3GC"><button class="aOOlW -Cab_   " tabindex="0">Отменить подписку</button><button class="aOOlW   HoLwm " tabindex="0">Отмена</button></div></div></div>
  3.  


Код писал не сам взял где-то из инета ))) сам в этой теме не силён. Попробовал сам, всё мимо )))

 

Powered by ExBB FM 1.0 RC1