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

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

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

我试图找出如何点击基于hover的组件上的任何给定链接。

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

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

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

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

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

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

提前致谢。

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

sleep 2 

将等待2秒后再转到脚本的下一行。

另请查看此答案以单击隐藏菜单..

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

 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它会帮助你很多..