Я использую Selenium 2 WebDriver на Ruby.
Как можно щелкнуть скрытую ссылку с помощью css (display: none)? ссылка представляет собой подменю и отображается при наведении указателя мыши на меню.
// РЕДАКТИРОВАТЬ:
Selenium::WebDriver::Error::NoSuchElementError: Unable to locate element: {"method":"link text","selector":"submenu2"}
Я изменил ': id' на ': link_text', потому что у подменю нет идентификаторов. Навигация:
<ul id="nav-main">
-<li class="menu active">
<p>
<a href="/menu1">menu1</a>
</p>
-<ul> <-- begin display:none
-<li>
<p>
<a href="/submenu1">submenu1</a>
</p>
</li>
+<li>
</ul> <--end submenu
</li>
</ul>
вы можете увидеть подменю при наведении курсора мыши на меню. Раньше подменю для webdriver не существовало.
с последующим кодом я вижу ссылку из меню 1 в FF слева внизу, но подменю не открывается и прерывается с ошибкой тайм-аута.
menu = @driver.find_element(:link_text => "menu")
@driver.action.move_to(menu).perform
wait.until {
@driver.find_element(:link_text => "submenu").click
}