Ruby鼠标悬停时间不够长,可能需要某种延迟



希望大家都好。这是我的第一篇帖子。

我正在尝试使用Cucumber和Selenium2框架用Ruby编写一个脚本。

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

塞恩斯伯里的网站http://www.sainsburys-live-well-for-less.co.uk/就是一个完美的例子。

如果你选择了第一个链接,即食谱和广告,然后是"让我们支持",那么你会被重定向到一个新页面。

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

目前,我在显示覆盖组件时遇到问题,当将鼠标光标放在Recipes&灵感按钮。

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

我也尝试过使用Ruby Builder,但没有成功。如果有人能帮助我,并以塞恩斯伯里网站为例,那将大有帮助。

提前谢谢。

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

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会对你有很大帮助。。

最新更新