Selenium2 WebDriver Ruby =>如何点击隐藏的链接
发布时间:2020-12-17 03:20:29 所属栏目:百科 来源:网络整理
导读:我在 Ruby上使用Selenium 2 WebDriver. 如何点击隐藏的链接,用css(显示:无)? 链接是子菜单,鼠标悬停在菜单上时可见. //编辑: Selenium::WebDriver::Error::NoSuchElementError: Unable to locate element: {"method":"link text","selector":"submenu2"}
我在
Ruby上使用Selenium 2 WebDriver.
如何点击隐藏的链接,用css(显示:无)? //编辑: Selenium::WebDriver::Error::NoSuchElementError: Unable to locate element: {"method":"link text","selector":"submenu2"} 我将’: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> 当鼠标悬停菜单时,您可以看到子菜单.以前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 } 解决方法
WebDriver模拟用户操作,不允许单击用户无法单击的元素.
所以你应该做用户会做的事情:在点击之前将鼠标悬停在菜单上.在Ruby中你可以做到例如: menu = driver.find_element(:id => "menu") submenu = driver.find_element(:id => "submenu") driver.action.move_to(menu).click(submenu).perform ActionBuilder类(由Driver#action返回)记录为here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |