Badoo кликнуть по элементу на JS

297
19 июля 2021, 22:10

На этой странице

https://badoo.com/encounters

Раньше работало программное нажатие на лайк:

document.querySelector('.profile-action--yes').click()

Потом перестало. Переехал на мобильную версию. Через неделю и там закрыли такую возможность.

Пытался имитировать цепочку событий blur, active... Или я не правильно делаю? Они же могут засекать время нажатия мышкой (протяженность blur). А программно - оно мгновенно. Вот как это все имитировать грамотно - в этом вопрос.

Вопрос: как имитировать нажатие мышки на чистом JS?

Answer 1

Боюсь огорчить, но кажется, теперь программно не получится вызвать нужное поведение.

В объекте события есть поле isTrusted, которое говорит о том, как именно было вызвано событие: программно или пользователем.

isTrusted - свойство объекта Event, доступное только на чтение. Принимает значение true, если событие было инициировано действиями пользователя, и false, если событие было создано или изменено скриптом, либо с помощью dispatchEvent

Вот минифицированный код на сайте:

// При программном клике проверка не пройдет.
t.isTrusted && this.onVote(e.getAttribute("data-choice"))

Итог: они защитились от программных кликов таким образом. Либо нужно как-то получить доступ к скоупу, где есть класс с этим методом onVote и вызывать руками его, либо не судьба...

Полезные ссылки
event.isTrusted

READ ALSO
React, генерация страниц и роутинг

React, генерация страниц и роутинг

Есть такой вопрос: разработываю frontend на React, все работает хорошо, как на dev сервере, так и на продакшен

202
jquery не видит идентификатор в разметке

jquery не видит идентификатор в разметке

Использую Material Bootstrap DesignПоявилась небольшая проблема во время использования js-скрипта

199
JavaScript проверить наличие ключа в массиве

JavaScript проверить наличие ключа в массиве

я создаю массив данным кодом

96