На этой странице
https://badoo.com/encounters
Раньше работало программное нажатие на лайк:
document.querySelector('.profile-action--yes').click()
Потом перестало. Переехал на мобильную версию. Через неделю и там закрыли такую возможность.
Пытался имитировать цепочку событий blur, active... Или я не правильно делаю? Они же могут засекать время нажатия мышкой (протяженность blur). А программно - оно мгновенно. Вот как это все имитировать грамотно - в этом вопрос.
Вопрос: как имитировать нажатие мышки на чистом JS?
Боюсь огорчить, но кажется, теперь программно не получится вызвать нужное поведение.
В объекте события есть поле isTrusted
, которое говорит о том, как именно было вызвано событие: программно или пользователем.
isTrusted - свойство объекта Event, доступное только на чтение. Принимает значение true, если событие было инициировано действиями пользователя, и false, если событие было создано или изменено скриптом, либо с помощью dispatchEvent
Вот минифицированный код на сайте:
// При программном клике проверка не пройдет.
t.isTrusted && this.onVote(e.getAttribute("data-choice"))
Итог: они защитились от программных кликов таким образом. Либо нужно как-то получить доступ к скоупу, где есть класс с этим методом onVote
и вызывать руками его, либо не судьба...
Полезные ссылки
event.isTrusted
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть такой вопрос: разработываю frontend на React, все работает хорошо, как на dev сервере, так и на продакшен
Использую Material Bootstrap DesignПоявилась небольшая проблема во время использования js-скрипта