selenium鼠标操作靠的是ActionChains(行为链)类,前面的文章我们已经介绍过,详情可以看ActionChains类,selenium的鼠标操作就不一一举例了,本节把鼠标移动、拖拽、双击、长按常见操作罗列下。会使用一种方法自然也会用多种方法!(selenium视觉上看不出鼠标在移动,你可以用右键点击来证实下确实移动了,案例鼠标滚动移动网页下拉)

1、move_to_element(to_element)鼠标移动到指定元素

element = driver.find_element_by_id('xxx')

ActionChains(driver).move_to_element(element).perform()

2、move_to_element_with_offset(to_element, xoffset, yoffset)

鼠标往右上方横向纵向各移动100

element = driver.find_element_by_id('xxx')

ActionChains(driver).move_to_element_with_offset(element, 100, 100).perform()

3、double_click(on_element=None)

双击元素,如果没有指定元素则在当前鼠标位置双击

element = driver.find_element_by_id('xxx')

ActionChains(driver).double_click(element).perform()

4、context_click(on_element=None)

在元素上点击鼠标右键,如果没有指定元素则在当前鼠标位置单击右键

element = driver.find_element_by_id('xxx')

ActionChains(driver).context_click(element).perform()

5、click_and_hold(on_element=None)

鼠标左键按下不松,如果没有指定元素则在当前鼠标位置

element = driver.find_element_by_id('xxx')

ActionChains(driver).click_and_hold(element).perform()

6、drag_and_drop(source, target)

按住 element1 元素,拖动到 element2 元素。

element1 = driver.find_element_by_id('source')

element2 = driver.find_element_by_id('target')

ActionChains(driver).drag_and_drop(element1, element2).perform()

7、drag_and_drop_by_offset(source, xoffset, yoffset)

向左上角横向纵向移动100。

element = driver.find_element_by_id('source')

ActionChains(driver).drag_and_drop_by_offset(element, -100, -100).perform()

8、dey_down(value, element=None)

标按下某个键不释放

ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()

8、key_up(value, element=None)

松开下某个键

ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()

python鼠标拖拽功能_selenium鼠标移动、拖拽、双击、长按等操作相关推荐

  1. Python+selenium 自动化高级应用篇:借助pyautogui实现web前端带轨迹拖拽功能,解决ActionChains拖拽失效问题

    有一些 web 前端的交互,必须有鼠标轨迹才能成功的实现拖拽功能. 而 selenium 自带的 ActionChains 方法,是一瞬间从 A 点到 B 点的. 解决思路: 利用元素返回的相对浏览器 ...

  2. 【vue弹框和div拖拽功能】vue-elementul弹框拖拽功能,移动拖拽功能,普通div拖拽功能【拿来即用,直接复制】

    前言 这里是通过vue的指令封装好的 直接创建一个js文件复制进去,引入一下就搞定了,非常简单 html版本引入vue语法的div和弹框拖拽功能 这里是考虑到有时候会在html页面开发的时候也会用到这 ...

  3. html制作网易云音乐登录系统,JavaScript实现[网易云音乐Web站登录窗口]拖拽功能...

    说明 你可能发现有很多网站他们的登录窗口或者说是登录框是可以拖动的, 更有甚者他们的站点提示框都可以拖动, 你也许可能会对这个功能的实现感兴趣, 那么这篇文章可能会对你有所帮助!具体的网站示例以 网易 ...

  4. vue项目中图标可拖拽功能实现

    vue项目中页面实现图标拖拽功能 最近在做项目需求时有个小功能:在页面的首页增加一个快速功能按钮,用来满足操作者快速实现某一目的渴望.为了体现代码搬运工的气质与水准,当时心想,这么简单的一个小东西必须 ...

  5. 【Unity实现背包拖拽功能 】

    Unity实现背包拖拽功能 可以实现背包拖拽交换位置.合成 等一系列功能的实现 using System; using System.Collections; using System.Collect ...

  6. js实现鼠标拖拽功能基本思路

    如果要设置物体拖拽,那么必须使用三个事件,并且这三个事件的使用顺序不能颠倒. onmousedown:鼠标按下事件 onmousemove:鼠标移动事件 onmouseup:鼠标抬起事件 拖拽的基本原 ...

  7. 【WPF】鼠标拖拽功能DragOver和Drop

    在Winform里面实现拖入功能只要设置控件AllowDrop=true; 然后实现方法 //拖入 private void txtInputPath_DragOver(object sender, ...

  8. 用JavaScript原生手写div的鼠标拖拽功能

    一.三个事件onmousedown(鼠标按下),onmousemove(鼠标移动),onmouseup(鼠标松) 鼠标按下时 box.onmousedown = function(e) {consol ...

  9. 13.鼠标拖拽:案例:鼠标拖拽小方块,小方格跟着移动(桌面图标拖动)

    目录 一:案例鼠标拖拽小方块,小方格跟着移动(桌面图标拖动) 二:取消拖拽文字的行为 1.没取消前: 2.取消后: 三:鼠标拖拽案例优化: 如果有好多个小盒子要做拖拽,一个一个加上面的1,2,3步太麻 ...

最新文章

  1. 检测缓存文件是否超时
  2. BS-XX-007基于JSP实现户籍管理系统
  3. linux Pytorch C++ 环境搭建
  4. 自定义分页(模块化)
  5. python中collections_Python中collections模块的基本使用教程
  6. 【NLP】GPT:第一个引入Transformer的预训练模型
  7. 【算法】广度遍历算法的应用 求出距离顶点v0的最短路径长度为最长的一个顶点,图结构的bfs生成树及其双亲表示形式
  8. Java 01背包【动态规划·蓝桥杯练习题】(相信杨超越,相信锦鲤,默默努力,其它的看天意)
  9. 如何删除webstrom中生成的.idea wrokspace
  10. linux suid提权原理,Linux SUID、SGID、sticky提权
  11. 信息安全工程师笔记-案例分析(四)
  12. 用MVC来实现javaScript的时间效果
  13. 64位Win8企业版出现“Unknown Hard Error”系统警告的一个解决方法
  14. 电商数据库设计——重要概念
  15. 计算机仿真实验之一 霍尔效应测磁场,2004_01大学物理实验教程_11539522.pdf
  16. java虚拟机-d参数配置_Java虚拟机-JVM各种参数配置大全详细
  17. Linux+v4l2自动设置相机曝光时间
  18. JUC辅助类 Semaphore
  19. 极光短信推送-java使用
  20. 图形服务器 性能,测试项目:图形渲染和CPU性能_Intel服务器CPU_服务器评测与技术-中关村在线...

热门文章

  1. 工程师也是主播界“扛把子”,学员抱紧大腿痴痴等候百度AI快车道下期到来...
  2. java list取值_Java集合详解
  3. 08 | 替换策略: 缓存满了怎么办?
  4. github常见操作和常见错误!错误提示:fatal: remote origin already exists.
  5. linux运行python乱码_linux下python中文乱码解决方案详解
  6. 使用腾讯云短信服务技术出现FailedOperation.TemplateIncorrectOrUnapproved
  7. Go——从文件路径解析解析GAVC坐标解决方案
  8. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(二十一)禁止打开控制台解决方案
  9. SpringMVC——Maven项目依赖包
  10. java file源码_java File源码理解,探索File路径