Как поставить лайк на все комментарии под видео в 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` для перебора всех комментариев.
Дополню ответ <a href="https://qna.habr.com/user/ilyabond" rel="nofollow">Илья Бондаренко</a> - помогает задержка равная не умножению (это вообще как такое в голову пришло), а паузе между установкой лайка на предыдущий коммент (3 секунды оптимально): <br/> <pre><code class="javascript">document.querySelectorAll('.css-1tvtgfz-DivLikeIcon.ezxoskx2').forEach((el, i) =&gt; {
    setTimeout(() =&gt; {
        console.log(`Клик по элементу №${i}, `, el);
        el.click();
    }, 3000);
});</code></pre>
Блин, пришлось зарегистрироваться в этом ужасе) <br/> <br/> Задержка помогла: <br/> document.querySelectorAll("[data-e2e='comment-like-icon']").forEach((el, i) => setTimeout(() => el.click(), i*1000)) <br/> <br/> P.s ещё нужно решить вопрос с скроллом (так как комменты добавляются динамически) и с капчей
Похожие вопросы