基于Selenium模块实现鼠标操作
前言
为了模拟鼠标操作,Selenium 模块提供了 Actionchains 类,可以模仿人的几乎任何鼠标行为操作;
在此篇文章主要介绍 Actionchains类 的常用方法,使用流程,并以具体的示例进行展示。
正文
1、Actionchains类常用方法
- perform():执行ActionChains中存储的行为;
- context_click(on_element=None):点击鼠标右键;
- double_click(on_element=None):双击鼠标左键;
- move_to_element(to_element):悬停,鼠标移动到某个元素;
- drag_and_drop(source, target):模拟鼠标拖动动作,选定拖动源元素释放到目标元素后鼠标松开;
- click_and_hold(on_element=None) :点击鼠标左键,不松开;
- move_by_offset(xoffset=0, yoffset=0):鼠标从当前位置移动多少的距离;
- move_to_element_with_offset(to_element=start_node, xoffset=0, yoffset=0):移动到距离某一节点多少距离的位置,start_node:某一节点
2、Actionchains类使用流程
- 导入鼠标事件类:
from selenium.webdriver import ActionChains
- 实例化鼠标对象:
ActionChains(browser)
- 找到鼠标要操作的元素:
node = browser.find_element(By.XPATH, '')
- 指定鼠标行为:
move_to_element(node)
如悬停到某一节点上 - 执行鼠标行为:
perform()
3、Actionchains类示例
3.1、需求分析
打开浏览器,输入百度地址 - 移动到设置节点 - 点击高级搜索节点
3.2、完整代码
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains # 导入鼠标事件类# 1、打开浏览器,输入百度地址
browser = webdriver.Chrome()
browser.get(url="http://baidu.com/")# 2、移动到设置节点
set_node = browser.find_element(By.XPATH,'//*[@id="s-usersetting-top"]')
ActionChains(browser).move_to_element(to_element=set_node).perform()# 创建鼠标事件类对象,指定行为,执行行为# 3、查找高级搜索节点,并点击
browser.find_element(By.XPATH,'//*[@id="s-user-setting-menu"]/div/a[2]/span').click()
time.sleep(2)
3.3、实现效果
本文转载自: https://blog.csdn.net/sallyyellow/article/details/129995475
版权归原作者 禾戊之昂 所有, 如有侵权,请联系我们删除。
版权归原作者 禾戊之昂 所有, 如有侵权,请联系我们删除。