【1】介绍

Web产品中提供了丰富的鼠标交互方式,例如单击、右击、双击、悬停、鼠标拖动等功能。在WebDriver中,将这些关于鼠标操作的方法封装在 ActionChains 类提供。

ActionChains 类提供了鼠标操作的常用方法
click() #单击
double_click() #双击
drag_and_drop() #拖动
move_to_element() #鼠标悬停
perform() #执行所有ActionChains中存储的行为

【2】引入ActionChains 类:

from selenium.webdriver.common.action_chains import ActionChains

【3】实例

百度搜索,高级搜索
鼠标操作

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import Select
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from  selenium.webdriver.common.by import By

'''
1、实例化鼠标类
2、调用各种鼠标行为
3、调用perform()方法去执行鼠标操作
'''

import  time 
driver = webdriver.Chrome()
driver.get("http://baidu.com")
setting_ele = driver.find_element_by_xpath('//*[@id="ul"]//*[@name="tj_settingicon"]')

#鼠标悬停-菜单  出现
action = ActionChains(driver)
action.move_to_element(setting_ele).perform()
time.sleep(5)
#等待元素可见
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//a[text()="高级搜索"]')))
driver.find_element_by_xpath('//a[text()="高级搜索"]').click()

相关文章: