Как поставить лайк на все комментарии под видео в TikTok?

Как можно модифицировать предложенный JavaScript код, чтобы лайк ставился на все комментарии, а не только на первый?
  • 25 апреля 2024 г. 12:30
Ответы на вопрос 3
Чтобы поставить лайк на все комментарии под видео в 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 ещё нужно решить вопрос с скроллом (так как комменты добавляются динамически) и с капчей
Похожие вопросы