selenium——鼠标操作ActionChains:点击、滑动、拖动
from selenium.webdriver import ActionChains
1、鼠标点击
click:鼠标左击
double_click:鼠标双击
context_click:鼠标右击
btn = driver.find_element_by_id('su')
# 第一步:创建一个鼠标操作的对象
action = ActionChains(driver)
# 第二步:进行点击动作(事实上不会进行操作,只是添加一个点击的动作)
action.click(btn)
# 第三步:执行动作
action.perform()
2、鼠标移动
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.implicitly_wait(5)# 定位设置元素
set_ele = driver.find_element_by_xpath("//div[@id='u1']//a[text()='设置']")
# 第一步:创建一个鼠标操作的对象
action = ActionChains(driver)
# 第二步:进行移动
action.move_to_element(set_ele)
# 第三步:执行动作
action.perform()# 三行代码写成一行:支持链式调用
ActionChains(driver).move_to_element(set_ele).perform()# 等待高级设置可点击
WebDriverWait(driver,5,0.2).until(EC.element_to_be_clickable((By.XPATH,"//a[text()='高级搜索']"))
).click()
3、鼠标滑动
# 选择拖动滑块的节点
sli_ele = driver.find_element_by_id('tcaptcha_drag_thumb')
# ------------鼠标滑动操作------------
action = ActionChains(driver)
# 第一步:在滑块处按住鼠标左键
action.click_and_hold(sli_ele)
# 第二步:相对鼠标当前位置进行移动
action.move_by_offset(100,0)
# 第三步:释放鼠标
action.release()
# 执行动作
action.perform()
4、鼠标在一个元素上拖动到另一个元素
s = WebDriverWait(driver, 30, 0.5).until(EC.visibility_of_element_located((By.ID, 'draggable'))
)
t = WebDriverWait(driver, 30, 0.5).until(EC.visibility_of_element_located((By.ID, 'droppable'))
)
# ------------鼠标滑动操作------------
action = ActionChains(driver)
# 第一步:拖动元素
action.drag_and_drop(s, t)
# 执行动作
action.perform()
参考:https://www.cnblogs.com/erchun/p/12906324.html
selenium——鼠标操作ActionChains:点击、滑动、拖动相关推荐
- web ui自动化之模拟鼠标操作 - ActionChains
文章目录 前言 ActionChains类方法介绍 1.执行所有存储的操作 - perform() 2.鼠标单击 - click() 3.点击鼠标左键,不松开 - click_and_hold() 4 ...
- selenium鼠标操作 包含右击和浮层菜单的选择
感谢http://www.cnblogs.com/tobecrazy/p/3969390.html 博友的分享 最近在学习selenium的一些鼠标的相关操作 自己在百度的相关操作代码 /** * ...
- 实现div跟随鼠标移动、点击、拖动而产生的变化
代码一:实现鼠标能够拖动div <!DOCTYPE html> <html><head><meta charset="UTF-8"> ...
- 爬虫Spider 08 - chromedriver设置无界面模式 | selenium - 键盘操作 | 鼠标操作 | 切换页面 | iframe子框架 | scrapy框架
文章目录 Spider 07回顾 cookie模拟登陆 三个池子 selenium+phantomjs/chrome/firefox Spider 08 笔记 chromedriver设置无界面模式 ...
- Flutter 中文文档:点击、拖动和其他手势
这个章节将会讲解如何监听和响应 Flutter 的手势操作 gestures.典型的手势操作包括点击.拖动和缩放. Flutter 中的手势有两个不同的层次:第一层是原始的指针指向事件,描述了屏幕上由 ...
- UI自动化(四)-鼠标操作
鼠标操作 actionChains 操作+执行 点击 click 双击 double_click 悬浮 move_to_element 右键 context_click 拖曳 drag_and_dro ...
- python selenium鼠标点击_python selenium鼠标键盘操作(ActionChains)
用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains sele ...
- python模拟鼠标拖动_Python+Selenium自动化篇-6-模拟鼠标操作
在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就可以了. 0.ActionChains类提供的鼠标常用方 ...
- selenium中鼠标操作:ActionChains类
一.ActionChains类的介绍 ActionChains模拟鼠标操作的常用方法.使用click()方法可以进行鼠标的单击操作,但是鼠标操作还包括:双击.右击.悬停.鼠标拖动等功能,所以,Acti ...
最新文章
- Cakephp事件机制尝鲜
- 交换网络中的sniffer讨论-基于交换网络的ARP spoofing sniffer
- 初中数学分几个模块_北京版初中数学:8大模块,59个必考易错知识点大集合,一定要注意!...
- PPT图片虚化效果要怎样实现?
- 有了这些组件和模板,天下没有难做的移动端驾驶舱
- [论文阅读笔记]DeepFool: a simple and accurate method to fool deep neural networks
- Andriod1.0无法被识别,更新为安卓 ADB 驱动
- 来自30岁女程序员的自我唤醒
- 安装PHP7.4找不到包error: Package requirements (oniguruma) were not met错误
- nextjs 基于 isomorphic-unfetch 封装自己的请求库
- 2021周记11:慢慢自律和追剧
- 敏捷项目用户故事地图
- Unit Test(UT)单元测试
- 42步进电机拆解步距角推导
- 网络相关基础知识总结(一)吞吐量测试吞吐量与带宽区别
- 华工 计算机网络 第二次 作业,华工网络教育计算机网络作业及答案
- 《学成在线 》 网站制作源码及总结html+css
- 17个最好用的iPhone数据恢复工具【2019更新】
- phpnow切换php,PHPNOW如何升级PHP
- eclipse jee配置tomcat
热门文章
- “WGT安装包中manifest.json文件不存在”与解决办法
- 关于TF变换的学习笔记(二)
- 基于自定义注解校验入参Model中的必传字段
- ETH may face a big rise because of this news
- 轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]
- 鸿蒙系统能装CAD吗,64位cad能装到32位的系统上吗
- 利用OVITO软件绘制团簇构型 (ICO, BCC, HCP, FCC及SC 多面体)
- “墨菲定律”、“帕金森定理”和“彼德原理”
- 有序线性表的有序合并
- 业精于勤荒于嬉-行成于思而毁于随