MouseHover and Click in Selenium using C#
The below post will illustrate how to do a mousehover over the element and then click on the submenu or link that’s displayed on hover over the first element
Step 1 : Do a MouseHover and then display SubMenus
Step 2: Go a SubMenu page that’s displayed on MouseHover
Example
To click on Energy on the SubMenu, I may have to do a MouseHover on “Science” and then Click on the link Energy.

For that all I have to use this code
public void MouseHover_SubMenuClick(string PrimaryMenu, string SubMenu)
{
//Doing a MouseHover
WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(10));
var element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath(PrimaryMenu)));
Actions action = new Actions(Driver);
action.MoveToElement(element).Perform();
//Clicking the SubMenu on MouseHover
var menuelement = Browser.FindElement(By.XPath(SubMenu), LongLongWaitTime);
menuelement.Click();
}
In the above code
- First I do a mousehover on the element say PrimaryMenu “Science”
- Then Click on the submenu “Energy” that is displayed