selenium包中ActionChains类给出的示例如下:
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
actions = ActionChains(driver)
actions.move_to_element(menu)
(hidden_submenu)
actions.perform()
整体思路是:
- 先分别找到一级菜单元素和二级菜单元素
- 新建动作链ActionChains
- 将鼠标移动到一级菜单,这时会出发鼠标经过事件,显示隐藏的二级菜单
- 点击二级菜单
- 执行动作链
ps:如果直接点击不可见元素会报错元素不可见:element not visible
参考
Python+Selenium 操作示例——鼠标悬停显示二级菜单,再点击二级菜单或下拉列表