Я видел это (до существования метода .hover), где реакция состояния 'hover' осуществляется с помощью псевдокласса CSS..hover
был введен, чтобы попытаться обойти это.Если это ваше обстоятельство и оно не работает для вас, тогда, возможно, было бы неплохо создать проблему с проектом Github watir-webdriver .
Для большинства вещей, которые использовали события "onhover" вHTML / Javascript было достаточно, чтобы запустить событие onhover для объекта, и я в порядке.Это то, что большинство из нас делали до недавнего добавления .hover
.Но с CSS-компонентами проклятый браузер почти мгновенно «увидел», что фактическая мышь не находится над объектом, и заново установил настройку отображения базового класса CSS.
Таким образом, вы можете найти элемент в DOM,Вы просто не можете нажать на него, потому что он не отображается.(что является разумным ограничением, поскольку ни один пользователь не может щелкнуть по нему в этом состоянии)
Мы обсудили пути решения этой проблемы, которая привела к добавлению элемента # hover в watir-webdriver. Вы можете попробовать некоторые предложения там, возможно, переместить мышь к объекту, но такие методы немного экспериментальны.
Другое решение, которое я использовал ранее, - это использовать execute_script для выполнения вызова jquery, которыйизменил CSS для класса «non-hover», чтобы сделать его видимым, что затем позволяет органически щелкать по нему.Это хорошее решение, когда действие щелчка не приводит к переходу системы на новую страницу.
В тех случаях, когда пункт меню представляет собой простую ссылку, я бы предложил получить значение HREF по ссылке,а затем просто с помощью «browser.goto», чтобы отправить туда браузер.Вы можете идентифицировать ссылку так же, как если бы вы щелкали по ней, и, таким образом, вам не нужно было жестко кодировать назначение ссылки в вашем коде, вы просто работаете над тем фактом, что мы не позволим вам щелкнуть скрытый элемент(по уважительной причине). Если .hover не работает, это будет мой первый выбор, если это простая ссылка, которая идет к href, а не причудливому клиентскому материалу.