ActionChains类提供了鼠标操作的常见方法:
perform():执行 ActionChains 类中存储的所有行为。执行鼠标操作
click(element) -- 点击
context_click(element):右击
double_click(element):双击
move_to_element():鼠标悬停
click_and_hold(element) -- 按住左键不松
release() -- 释放按键
drag_and_drop(src, dest) -- 拖拽
pause() -- 暂停
send_keys_to_element(element, value) -- 往元素上输入内容
scroll_to_element() -- 元素滚动到可见区域
使用步骤:
1、实例化ActionChains类
2、调用你想执行的鼠标操作(可以有多个)
3、调用perform() -- 真正执行鼠标操作。
请注意:当你在执行鼠标操作有关的代码时,请不要动你的鼠标。
selenium3.X ActionChains只是给web自动化用的,鼠标操作。
selenium4.X/appium2.X 兼容了app的触屏操作(appium1.X的触屏操作原来是TouchAction类和MultiAction类)。
链式调用
ActionChains(driver).move_to_element(ele).pause(0.3).click(ele).perform()
鼠标操作的方法返回的都是self
1 import time 2 from selenium.webdriver.common.action_chains import ActionChains 3 from selenium import webdriver 4 from selenium.webdriver.common.by import By 5 from selenium.webdriver.support.wait import WebDriverWait 6 from selenium.webdriver.support import expected_conditions as EC 7 8 9 driver =webdriver.Chrome() 10 driver.maximize_window() 11 driver.get("https://www.xxxx.com/") 12 13 wait = WebDriverWait(driver, 10) 14 # 1、实例化ActionChains类 15 ac = ActionChains(driver) 16 17 # 找到鼠标要悬浮的元素 18 loc = (By.XPATH,'//*[@id="goodsStandardImg-18"]') 19 wait.until(EC.visibility_of_element_located(loc)) 20 ele = driver.find_element(*loc) 21 22 # 2、链式调用,鼠标的操作 23 ac.move_to_element(ele).pause(0.3).click(ele) 24 25 # 3、调用perform() 26 ac.perform() 27 28 # 链式调用 29 # ActionChains(driver).move_to_element(ele).pause(0.3).click(ele).perform() 30 31 time.sleep(5) 32 driver.quit()
标签:鼠标,ActionChains,driver,element,--,操作,ele From: https://www.cnblogs.com/liyongmei/p/17006175.html