Mouse hover lets you move the mouse pointer over an element without clicking. This helps to see hidden menus or tooltips that appear only when you hover.
Mouse hover (move_to_element) in Selenium Python
from selenium.webdriver import ActionChains actions = ActionChains(driver) actions.move_to_element(element).perform()
move_to_element(element) moves the mouse pointer to the center of the given element.
Always call perform() at the end to execute the action.
actions.move_to_element(menu).perform()
actions.move_to_element(button).perform()
actions.move_to_element(icon).perform()
This script opens a page with a dropdown menu. It moves the mouse over the menu to reveal the submenu. Then it checks if the submenu is visible and prints the result.
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains import time # Setup driver (make sure chromedriver is in PATH) driver = webdriver.Chrome() driver.get('https://www.w3schools.com/css/css_dropdowns.asp') # Find the dropdown menu that shows submenu on hover menu = driver.find_element(By.CSS_SELECTOR, '.dropdown') # Create action chain and hover over the menu actions = ActionChains(driver) actions.move_to_element(menu).perform() # Wait to see the submenu appear time.sleep(3) # Check if submenu is visible submenu = driver.find_element(By.CSS_SELECTOR, '.dropdown-content') print('Submenu visible:', submenu.is_displayed()) driver.quit()
Make sure the element you hover over is visible and interactable, or move_to_element may fail.
Use explicit waits if the submenu or tooltip takes time to appear after hover.
Hover actions may not work well on headless browsers without a display.
Mouse hover simulates moving the mouse pointer over an element without clicking.
Use ActionChains.move_to_element(element).perform() to hover in Selenium Python.
Hover is useful to test menus, tooltips, and hover effects that appear only on mouseover.