Ruby Mouse Over不够长,可能需要某种延迟

时间:2012-07-19 15:57:12

标签: ruby mouse delay mouseover

希望你们都很好。这是我的第一篇文章。

我正在尝试使用Cucumber和Selenium 2框架在Ruby中编写脚本。

我正在尝试找出如何点击基于悬停的组件上的任何给定链接。

sainsbury的网站http://www.sainsburys-live-well-for-less.co.uk/就是一个很好的例子。

如果您选择第一个链接,即配方和Insprirations,然后让Lets获得支持,那么您将被重定向到新页面。

我想通过脚本来做到这一点。

目前我在显示将鼠标光标放在Recipes&上时出现的叠加组件时遇到问题。灵感按钮。

我可以使用@ driver.mouse.move_to ele函数将鼠标悬停在组件上。下一步是查看集合,找到元素并单击它但问题是涉及的步骤太多,当我甚至检查隐藏面板中的项目数时,面板消失了。

我也尝试过使用Ruby Builder但没有运气。如果有人可以帮助我并以sainsbury网站为例,那么它会有很大帮助。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用sleep命令,然后使用您希望selenium在执行下一步之前等待的秒数。例如......:

sleep 2

在转到脚本的下一行之前会等待2秒钟。

同时检查 this 单击隐藏菜单的答案..

好。因为我记得你开始的时候是怎么回事。你去吧我已经为你做了这个..

require "selenium-webdriver"          
Selenium::WebDriver::Firefox     
driver = Selenium::WebDriver.for :firefox

driver.navigate.to('http://www.sainsburys-live-well-for-less.co.uk/')   

menu = driver.find_element(:xpath, "//div[@id='recipes-inspiration-menu']")
submenu = driver.find_element(:xpath, "//li[@class='first first-child  children']")

driver.action.move_to(menu).click(submenu).perform

driver.find_element(:xpath, "//a[@title='Let's Get Baking']").click

正如我所说,下载并安装Firebug会对你有所帮助..