Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update #2

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Update #2

wants to merge 5 commits into from

Conversation

torilya
Copy link

@torilya torilya commented Dec 30, 2024

Update:

  1. обновлен package-lock.json
  2. обновлен поиск веб-элементов: XPath-селекторы и ожидания
  3. добавлен пропуск НЕдоступных постов и видео
  4. изменен порядок постов и фото на обратный хронологический (от последнего лайка к первому). Думаю, что снятие новых (актуальных) лайков приоритетнее снятия старых (на которые уже вряд ли кто обратит внимание). НЕ уверен, что в архиве хранятся лайки в хронологическом порядке. Но визуально кажется, что теперь снятие лайков идет в общем от более новых к более старым

@ColdSpirit0
Copy link
Owner

Спасибо за PR, протестирую, как подготовлю профиль вк. Пробежался по коду, есть пара замечаний:

2416b95#diff-9df47015d27db865903e3e77e2e0d7c39d292a5627dd22916f2f7224b08a8be3L29

  • Кажется, селекторы типа vkitgetColorClass__colorAccentRed--JtojA - временные, на это указывает хеш в конце. На следующем обновлении ВК хеш изменится и селектор сломается. Это можно исправить, используя селектор, как в примере. В примере ищется класс, начинающийся с some-class, при этом учитывается наличие прочих классов, и не включаются классы, которые содержат some-class в названии.
  • Для упрощения работы я добавил абстракциюclass() перед передачей локаторов в селениум, и лучше использовать эту функцию вместо contains(@class, ...), когда имеется целиковый класс на руках. Работает он аналогично юзерскрипту, который можно использовать для тестирования локаторов. Песочница по ссылке выше тоже поддерживает class().

@torilya
Copy link
Author

torilya commented Jan 16, 2025

Спасибо за обратную связь

Исправил замечания - 1b9173e:

  • исправил contains(@class, 'vkitgetColorClass__colorAccentRed--JtojA') на contains(concat(" ", @class), " vkitgetColorClass__colorAccentRed")
  • исправил contains(@class, '...') на class("..."), где используется полное имя класса

Протестировал обнаружение элементов по этим селекторам. Версию программы с этими селекторами НЕ тестировал

Песочница понравилась. Поставил звезду

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants