鼠标操作

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

 

posted @ 2022-12-26 16:44  **山止川行**  阅读(89)  评论(0编辑  收藏  举报