Как можно модифицировать предложенный JavaScript код, чтобы лайк ставился на все комментарии, а не только на первый?
Чтобы поставить лайк на все комментарии под видео в TikTok, можно использовать следующий JavaScript код: ```javascript const comments = document.querySelectorAll('div[data-testid="comment"]'); // выбираем все комментарии comments.forEach(comment => { const likeButton = comment.querySelector('button[aria-label="Нравится"]'); // выбираем кнопку "Нравится" в комментарии if (likeButton && !likeButton.getAttribute('aria-pressed')) { // проверяем, не стоит ли уже лайк на комментарии likeButton.click(); // кликаем на кнопку "Нравится" } }); ``` Этот код пройдет по всем комментариям под видео и поставит лайк на каждом из них, если на комментарии еще не стоит лайк. Чтобы модифицировать код и поставить лайк на все комментарии, а не только на первый, нужно заменить `querySelector` на `querySelectorAll` и использовать `forEach` для перебора всех комментариев.
Дополню ответ Илья Бондаренко - помогает задержка равная не умножению (это вообще как такое в голову пришло), а паузе между установкой лайка на предыдущий коммент (3 секунды оптимально):
document.querySelectorAll('.css-1tvtgfz-DivLikeIcon.ezxoskx2').forEach((el, i) => { setTimeout(() => { console.log(`Клик по элементу №${i}, `, el); el.click(); }, 3000); });
Блин, пришлось зарегистрироваться в этом ужасе)
Задержка помогла:
document.querySelectorAll("[data-e2e='comment-like-icon']").forEach((el, i) => setTimeout(() => el.click(), i*1000))
P.s ещё нужно решить вопрос с скроллом (так как комменты добавляются динамически) и с капчей