【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()