Как изменить активный чат в веб-whatsapp через selenium или javascript с помощью Python 3
Я рулевой веб-whatsapp через selenium через Python, мне было интересно, можно ли изменить активный (верхний чат. Если сообщение получено, чат не будет установлен как активный, он всегда будет оставаться в фоновом режиме.
в Javascript можно увидеть список всех чатов в консолях через:
Store.chat.models
активный чат хранится в нулевой позиции, однако перезапись нулевой позиции другим чатом не сделает чат активным.
Я выяснилось, что существует переменная под названием"x_active
", который изменяется, если щелкнуть чат и посмотреть на true (и все остальные имеют его как false).
например:
Store.Chat.models[0].__x_active
однако установка переменной или true или false на вкладке консоли chrome ничего не изменила в пользовательском интерфейсе, так как я могу добиться такого поведения?
3 ответов
в whatsapp web, если вы проверяете, Вы можете увидеть, что имя контакта находится в div с классом '.чат'.
вы можете добавить прослушиватель контактов в левой части в whatsapp web, выполнив следующий скрипт в вашем whatsapp_login
вам нужно будет использовать selenium, чтобы нажать на контакт в левой панели, чтобы сделать его активным. Вы можете легко найти место, чтобы нажать с помощью селектора CSS, как это:
driver.find_element_by_css_selector('span[title="Contact Name"]').click()
чтобы легко определить, какие контакты имеют непрочитанные сообщения, Вы можете использовать свой магазин JavaScript.беседа.список моделей, и найти объекты в списке с переменной __x_hasUnread = True, и значение переменной_ _ x _ formattedTitle, чтобы найти имя контакта, чтобы использовать для поиска выше.
однако установка переменной или true или false на вкладке консоли chrome ничего не изменила в пользовательском интерфейсе
вы меняете логическое значение, но запрос не отправляется, в результате вы не увидите никаких изменений. Мое предложение-сначала нажать на веб-элемент, используя Xpath или CSS или любые другие удобные методы локатора.