鼠标事件 Python+selenium

本文详细介绍了如何在Selenium中使用ActionChains进行鼠标操作,如拖放、双击、悬停及链式执行。通过实例演示了如何结合CSS选择器和XPath定位元素,实现高效且灵活的UI自动化测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


鼠标事件

需要导入一个库
from selenium.webdriver.common.action_chains import ActionChains
ActionChains(动作链)的执行原理:
当调用ActionChains中的方法时,不会立即执行,而是将所有的操作按照顺序存放在一个队列中,当调用perform() 方法时,队列中的操作会依次执行。

1、drag_and_drop(source_ele, target_ele) 拖动操作

#实例化ActionChains,调用drag_and_drop()方法不会立即执行,会先把操作存放在队列中。调用perform方法时才会执行队列中的操作。
ActionChains(driver).drag_and_drop(source_ele, target_ele).perform()

2、移动元素到某个位置

ActionChains(driver).drag_and_drop_by_offset(source_ele, 500, 200).perform()

3、双击操作

首先需要定位到双击操作的按钮
double_ele = driver.find_element_by_css_selector(’[type=“button”]’)
执行双击操作
ActionChains(driver).double_click(double_ele).perform()

4、鼠标移动并悬停在某处

鼠标移动并悬停在某处
首先需要定位到鼠标悬停的元素
ele = driver.find_element_by_css_selector(’[class=“posi”] > ul > li:first-child >div:first-child’)
执行鼠标移动并悬停操作
ActionChains(driver).move_to_element(ele).perform()
5、perform() 执行所有存储的操作
ActionChains(driver).move_to_element(ele).perform()

6、右键操作

先定位到鼠标要右键执行的按钮
right_button_ele = driver.find_element_by_css_selector(’.right’)
执行鼠标右键操作
ActionChains(driver).context_click(right_button_ele).perform()

动作链的链式写法

定位到鼠标要移动到的元素
ele = driver.find_element_by_css_selector(’[class=“bar”]>img’)
定位到退出登录按钮
logout_ele = driver.find_element_by_xpath(’//*[text()=“退出登录”]’)
执行鼠标移动的操作并点击退出登录按钮操作
ActionChains(driver).move_to_element(ele).click(logout_ele).perform()

=动作链的分步写法==

实例化动作链

actions = ActionChains(driver)

鼠标移动到 图片位置

actions.move_to_element(ele)
time.sleep(4)

点击 退出登录按钮

actions.click(logout_ele)

清空队列中的所有操作,清空以后就不会再执行任何操作

actions.reset_actions()

执行队列中的所有的操作

actions.perform()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@chameleon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值