Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт для для страницы закладок в вконтакте (https://javascript.ru/forum/misc/74947-skript-dlya-dlya-stranicy-zakladok-v-vkontakte.html)

whiskey 19.08.2018 18:10

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

Дело вот в чем. Очень давно хочу потереть все лайки, поставленные мной в вк, но вручную это проделывать займет кучу времени, так как картинок очень много. Решений в интернете, как это можно сделать быстро, я не нашел, поэтому решил прибегнуть к скрипту. С 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 21:28

Разобрался, но из-за капчи в скрипте особо нет смысла.

j0hnik 19.08.2018 21:43

прикручивайте a/c сервис


Часовой пояс GMT +3, время: 10:20.