Показать сообщение отдельно
  #1 (permalink)  
Старый 19.08.2018, 18:10
Новичок на форуме
Отправить личное сообщение для whiskey Посмотреть профиль Найти все сообщения от whiskey
 
Регистрация: 19.08.2018
Сообщений: 2

Скрипт для для страницы закладок в вконтакте
Доброго времени суток. У меня наверное самая распространенная проблема, которая только может быть - не работает скрипт.

Дело вот в чем. Очень давно хочу потереть все лайки, поставленные мной в вк, но вручную это проделывать займет кучу времени, так как картинок очень много. Решений в интернете, как это можно сделать быстро, я не нашел, поэтому решил прибегнуть к скрипту. С js никогда не работал, поэтому нашел несколько примеров и использовал конструкции из них, чтобы слепить своего франкенштейна:

*скрипт для страницы vk.com/fave для раздела с картинками*

(function () { 'use strict'; if (!confirm('Удалить все лайки с фотографий?')) return; var photoLink = document.body.querySelectorAll('div.photos_row_wrap > div[id] > a'); for (var i = 0; i < photoLink.length; i++) { photoLink[i].click(); var likeButton = document.body.querySelectorAll('div.like_btns > a[onclick^="Likes.toggle"]'); likeButton[0].click(); } alert(photoLink.length + ' posts deleted'); }());


Вводил все по-отдельности и работало( то есть получал сначала список изображений в photoLink, затем открывал одно изображение через photoLink[0].click(), находил список кнопок с лайком likeButton и снимал лайк с картинки через likeButton[0].click().

Но в функции это все не работает. Выводит ошибку:
VM3047:1 Uncaught TypeError: Cannot read property 'click' of undefined
    at <anonymous>:1:348
    at <anonymous>:1:404
(anonymous) @ VM3047:1
(anonymous) @ VM3047:1


Я так понимаю, что likeButton не определяется и не определяется из-за того, что окно с фотографией не успевает открыться, а функция уже пытается найти кнопку с лайком на той странице, на которой был вызван скрипт.

Подумав, что дело в этом я пытался ввести какой-нибудь цикл, который будет идти бесконечно, пока не определиться переменная likeButton( отталкиваясь от того предположения, что окно с изображением не успевало открыться и кнопки с лайком просто не было на странице), но тщетно, это тоже не помогло.

Извиняюсь за быдло кодинг, но мне очень хочется решить поставленную задачу. Буду рад любой помощи )

Последний раз редактировалось whiskey, 19.08.2018 в 18:16.
Ответить с цитированием