代码之家  ›  专栏  ›  技术社区  ›  Moritz Both

selenium和:悬停css

  •  11
  • Moritz Both  · 技术社区  · 14 年前

    我使用一个菜单,当用户移动鼠标时,它会打开。当鼠标离开菜单时关闭。这是用 :hover css,没有任何javascript。

    在selenium中,有很多鼠标操作的方法,但是似乎没有一个能触发任何css 悬停 要使用的样式。

    谷歌显示,我不是唯一一个遇到这个问题的人,但还没有解决方案。一些人评论说,您必须添加一些javascript代码;但是,在selenium rc中,我甚至不认为我有一个合适的位置来容纳用户贡献的额外javascript代码。

    我希望下面的代码能够正常工作,因为div navi_设置包含包含-通常不可见-a元素的菜单:

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

    不幸的是,这种方法 moveHover() 还不存在。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Rob    14 年前

    我找不到使用selenium接口的方法。但是,由于我使用的是selenium 2,因此可以使用webdriver api,如 http://groups.google.com/group/selenium-developers/msg/8210537dde07155f?pli=1

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

    WebDriver webDriver; 
    ...
    ((RenderedWebElement) webDriver.findElement(By.cssSelector("div#navi_settings"))).hover();
    
        2
  •  -1
  •   techpeace    14 年前

    这个 mouseOver 方法将激活 :hover 假阶级。