Почему невозможно щелкнуть по любому элементу в сети WhatsApp (https://web.whatsapp.com) с использованием метода JavaScript .click()
? Шаги, которые я предпринимаю, перечислены ниже:
- Предполагая, что проверка QR-кода завершена, посетите https://web.whatsapp.com
- Найдите строку поиска с надписью Поиск или начните новый чат , который является элементом ввода, и включите на нем
.click()
.
Я могу найти поле ввода поиска, потому что оно имеет уникальное название значение Поиск или запуск нового чата , но когда я пытаюсь щелкнуть его в консоли Chrome DevTools, ничего случается.
Сначала я подумал, что могу выстрелить, щелкнув не по тому элементу. Чтобы быть уверенным, я установил расширение автоматизации Katalon Recorder на Chrome. Затем я записал сделанные шаги (перейдите на сайт WhatsApp, нажмите на поле поиска). Играя в рутине в Каталоне, щелкает окно поиска, как и ожидалось. Я скопировал выражение Xpath, записанное Каталоном, и вставил все это в document.evaluate()
. Оказывается, это был тот же элемент ввода, захваченный querySelectorAll
.
В браузере-консоли я запускаю этот код:
let xPath = "(.//*[normalize-space(text()) and normalize-space(.)='Search or start new chat'])[1]/following::input[1]";
let result = document.evaluate(xPath, document);
let searchBox = result.iterateNext();
searchBox.click();
Итак, у вас есть идея, почему .click()
не работает в WhatsApp Web? Я также хотел бы знать, что Katalon делает по-другому - позволяет ему нажимать на нужный элемент. Могу ли я сделать это в безголовом браузере?