Добрый день.
Написал небольшое расширение для Хрома. Плагин парсит страницу и при определенном стечении обстоятельств требуется нажать на некоторый DIV-елемент. Делал и с помощью dispatchEvent и с помощью jQuery. На нескольких ресурсах читал, что кликнуть-то можно, но, клика как такового не произойдет.
«Ручной» запуск (генерация) события не создает по умолчанию действие, связанное с этим событием. Например, программная генерирация события focus на элементе не означает, он получит фокус, вручную сгенерированное событие submit не заставит форму отправить данные (следует использовать метод submit формы), сгенерированное событие нажатия клавиши не означает, что символ появится в поле ввода, программное нажание на ссылку не активирует переход по ней, и т. д. Такие ограничения необходимы в целях безопасности и предотвращения сценариев имитации работы пользователя и взаимодействия с браузером.
Как же все таки решить проблему? Уже склоняюсь к тому, что из плагина я не смогу это сделать.
Смотрю на Selenium - этот инструмент автоматического тестирования умеет нажимать/взаимодействовать со страницей. Но тогда вопрос (может быть глупый) , а как мне из кода плагина (JS) вызвать, запустить Selenium-скрипт, да еще и передать ему в параметрах, куда мне треба нажать, и получить таки заветный клик? Или раз уж собираюсь использовать селен, так может и все переписать на нем?
И можно пример кода или лучше ссылку на документацию, с примером "клик по елементу" , указанному в параметрах запуска.
PS раскрою "тайну" пишу бота для web.whatsapp