And*_*rej 5 ruby webdriver selenium-webdriver
我在Ruby上使用Selenium 2 WebDriver.
如何点击隐藏的链接,用css(显示:无)?链接是子菜单,鼠标悬停在菜单上时可见.
//编辑:
Selenium::WebDriver::Error::NoSuchElementError: Unable to locate element: {"method":"link text","selector":"submenu2"}
Run Code Online (Sandbox Code Playgroud)
我将':id'更改为':link_text',因为子菜单没有id.导航:
<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>
Run Code Online (Sandbox Code Playgroud)
当鼠标悬停菜单时,您可以看到子菜单.以前webdriver的子菜单不存在.
跟随代码我看到FF左下角menu1中的链接,但是子菜单没有打开并且因超时错误而中断.
menu = @driver.find_element(:link_text => "menu")
@driver.action.move_to(menu).perform
wait.until {
@driver.find_element(:link_text => "submenu").click
}
Run Code Online (Sandbox Code Playgroud)
WebDriver模拟用户操作,不允许单击用户无法单击的元素.
所以你应该做用户会做的事情:在点击之前将鼠标悬停在菜单上.在Ruby中你可以做到:
menu = driver.find_element(:id => "menu")
submenu = driver.find_element(:id => "submenu")
driver.action.move_to(menu).click(submenu).perform
Run Code Online (Sandbox Code Playgroud)
ActionBuilder类(由Driver#action返回)在此处记录.
| 归档时间: |
|
| 查看次数: |
5432 次 |
| 最近记录: |