Selenium and :hover css


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.

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

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.

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.isVisible("//a[contains(text(), 'Text on link')]"));

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

  • You must to post comments

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

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();
  • You must to post comments
Showing 1 result
Your Answer
Post as a guest by filling out the fields below or if you already have an account.