Selenium 和 :hover css [英] Selenium and :hover css

查看:14
本文介绍了Selenium 和 :hover css的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用 selenium-rc 和 java 客户端,我想测试一个菜单,当用户将鼠标移到它上面时会打开该菜单.当鼠标离开菜单时它会关闭.这是使用 :hover css 完成的,没有任何 javascript.

Using selenium-rc and the java client, I want to test a menu which opens when the user moves the mouse over it. It closes when the mouse leaves the menu. This is done using :hover css, without any javascript.

在 selenium 中,有很多鼠标操作的方法,但似乎没有一个会触发任何要使用的 css :hover 样式.

In selenium, there are many methods for mouse actions, but none of them seems to trigger any css :hover style to be used.

Google 显示我并不孤单,但还没有解决方案.有些人评论说您必须添加一些 javascript 代码;但是,在 selenium rc 中,我认为我什至没有合适的位置来存放用户贡献的附加 javascript 代码.

Google shows that I am not alone with this problem, but there has not be a solution. Some folks comment that you had to add some javascript code; however, in selenium rc, I don't think that I even have a proper place for user-contributed additional javascript code.

我希望下面的代码能够工作,因为 div#navi_settings 包含的菜单包含 - 通常不可见 - 一个元素:

My wish would be the following code to work, given that a div#navi_settings contained the menu which contains the - normally invisible - a element:

selenium.mouseHover("css=div#navi_settings");
assertTrue(selenium.isVisible("//a[contains(text(), 'Text on link')]"));

很遗憾,moveHover() 方法尚不存在.

Unfortunately, the method moveHover() does not yet exist.

推荐答案

我找不到使用 Selenium 接口的方法.但是,由于我使用的是 Selenium 2,我可以使用 WebDriver API,根据 http://groups.google.com/group/selenium-developers/msg/8210537dde07155f?pli=1

I couldn't find a way to do this using the Selenium interface. However, since I am using Selenium 2, I can use the WebDriver API, as per http://groups.google.com/group/selenium-developers/msg/8210537dde07155f?pli=1

在你的情况下,如果你可以升级到 Selenium 2,这样的事情可能会起作用:

In your case, something like this may work, if you can upgrade to Selenium 2:

WebDriver webDriver; 
...
((RenderedWebElement) webDriver.findElement(By.cssSelector("div#navi_settings"))).hover();

这篇关于Selenium 和 :hover css的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆