0

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

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

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

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

如果您选择第一个链接,即Recipes and Insprirations,然后选择Lets get backing,那么您将被重定向到一个新页面。

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

目前,我在显示将鼠标光标放在“食谱和灵感”按钮上时出现的覆盖组件时遇到问题。

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

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

提前致谢。

4

1 回答 1

1

好吧,您可以使用 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 会对您有很大帮助..

于 2012-07-20T09:47:18.837 回答