How to mouseover to reveal a hidden menu in Selenium

Java

In Java, create an Actions and use its moveToElement() method to mouse over the menu.
This method returns a self-reference, and you can call its perform() method to obviate the need to call build() first.
You can then click the revealed menu item in the normal way.

Actions actions = new Actions(driver);
actions.moveToElement(menuElement).perform();
By locator = By.id("menuItemID");
driver.click(locator);

Python

In Python, the class to use is ActionChains.

from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(driver)
actions.move_to_element(menu_element).perform()
element = driver.find_element_by_id("menuItemId")
driver.click(element)

C#

The process in C# is identical to Java, except for name conventions.

Actions actions = new Actions(driver);
actions.MoveToElement(menuElement).Perform();
By locator = By.Id("menuItemID");
driver.Click(locator);