鼠标拖动API
Actions action = new Actions(webdriver);
##source-要拖动的元素A,target-拖动元素A到达的目标元素
action.dragAndDrop(source, target);
##source-要拖动的元素A,拖动元素移动多少,标准以元素A左上角为准,拖动元素相对元素A移到右边是x是正值,左边是负值,拖动元素相对元素A移到上边是y是负值,下边是正值,
action.dragAndDropBy(source, xOffset, yOffset);
eg:
//找到我们所要拖动的元素A
WebElement A = driver.findElement(By.xpath("//*[@id=\"ext-gen153\"]/li[1]/div"));
WebElement B=driver.findElement(By.xpath("//*[@id=\"ext-gen153\"]/li[2]/div"));
Actions action = new Actions(driver.getDriver());
//鼠标拖动A向左移动530,之后释放鼠标
action.dragAndDropBy(A, -570, 0).perform();
// 鼠标拖动B向下移动100,向左移动570之后释放鼠标
action.dragAndDropBy(k2, -570, 100).perform();
##注意:拖动元素之间最好加强制休眠时间,否则不定时出问题,也不报错,有你哭的
action.dragAndDrop(A, B).perform();
driver.sleep(2000);
action.dragAndDrop(B, A).perform();
有时定位没问题,代码没问题,就是没效果,那就考虑一下拖拽在不同的浏览器的工作效果
For firefox :

Actions builder = new Actions(driver);
builder.moveToElement(draggable).clickAndHold();
builder.moveToElement(target).click().perform();

For chrome :

Actions builder = new Actions(driver);
builder.moveToElement(draggable).clickAndHold(draggable);
builder.moveToElement(target).release(target).perform();
重中之重:
拖动元素有一个最重要的前提是,你定位的xpath等一定要准确,否则,到时候会出现各种拖动错乱的问题:
1
eg
1.拖动元素如果用到action.dragAndDropBy(k2, -570, 100).perform();比如,如果我们想把A元素(可能为图标)拖动到B区域可能用到这个方法,但是把A拖动到B区域之后,如果我们又想把此时的A拖动到其它地方,但是此时A没有id,class,只有一些看似没用的x,y,w,h,注意:这里一定要注意这里的这四个值,因为当我们刚开始调用action.dragAndDropBy(k2, -570, 100).perform();时,此时拖动完之后,那么绝对此时的x或者y或者w或者h一定是唯一值,那么我们抓住这个要点就可以定位了
2.定位参考:
WebElement A=driver.findElement(By.xpath("//*[contains(@x,'50')]"));
//"任务跨1"节点
WebElement B=driver.findElement(By.xpath("//*[contains(@y,'150')]"));
总结:
1.注意拖动之后属性的唯一性
2.dragAndDrop

Java Selenium Actions模拟鼠标拖动dragAndDrop总结相关推荐

  1. python安卓脚本 模拟滑动_python模拟鼠标拖动操作的方法

    本文实例讲述了python模拟鼠标拖动操作的方法.分享给大家供大家参考.具体如下: pdf中的书签只有页码,准备把现有书签拖到一个目录中,然后添加自己页签.重复的拖动工作实在无趣,还是让程序帮我实现吧 ...

  2. python模拟鼠标拖动_Python+Selenium自动化篇-6-模拟鼠标操作

    在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就可以了. 0.ActionChains类提供的鼠标常用方 ...

  3. selenium webdriver模拟鼠标键盘操作

    在测试使用Selenium webdriver测试WEB系统的时候,用到了模拟鼠标.键盘的一些输入操作. 1.鼠标的左键点击.双击.拖拽.右键点击等: 2.键盘的回车.回退.空格.ctrl.alt.s ...

  4. android模拟鼠标点击事件给控件,Android使用模拟鼠标拖动操作

    将远程控制支持添加到android2.2版本. 此处的看起来与电视所使用的相似,不同之处在于它具有比电视更多的自定义功能按钮. 单击上的切换按钮,当切换到鼠标模式时,在android视图上绘制类似鼠标 ...

  5. python模拟鼠标拖动滑块_Python+Selenium 拖动滑块 (一)

    在我们登录账号中常常会遇到各种验证码,如图片验证码,拖动滑块验证..... 滑块验证码只需要用户使用鼠标将滑块从某个位置拖动到另一个位置即可.程序通过记录用户拖动滑块的轨迹,这一串的轨迹数据采用模式识 ...

  6. python模拟鼠标拖动滑块_py+selenium拼图式拖动滑块的验证

    我这边是前端提供了随机生成缺口的位置,只适合部分人 先定位到需要移动的滑块位置, 应为我这边随机生成的缺口位置是display:none无法获取元素所以要先修改成block才能读取 这里有一个坑就是如 ...

  7. Selenium:模拟鼠标操作

    鼠标操作:左键单击,右键点击,左键双击,箭头移动,托拉拽 一般左键单击直接用 click() 左键单击 其它类模拟方式定义在org.openqa.selenium.interactions.Actio ...

  8. 基于Java+selenium+opencv模拟网页滑动验证

    目前很多网页都有滑动验证,目的就是防止不良爬虫扒他们网站的数据,我这次本着学习的目的使用Java和selenium学习解决滑动验证的问题,前前后后花了一周时间(抄代码),终于成功了某音的滑动验证! 效 ...

  9. python模拟鼠标拖动_python模拟鼠标拖动操作

    1.[代码][Python]代码 # # _*_ coding:UTF-8 _*_ __author__ = 'wp' import win32api import win32con import w ...

最新文章

  1. [HNOI 2010]Bounce 弹飞绵羊
  2. 22.25在计算机中如何储存,浮点数在计算机中存储方式
  3. ubuntu14.04使用rails连接mysql数据库
  4. 【caffe-Windows】关于LSTM的使用-coco数据集
  5. PyTorch搭建简单神经网络实现回归和分类
  6. pyspark编写UDF函数
  7. 请教Parser Generator 开发工具中关于Lex和Yacc的问题
  8. nodejs后台系列--第五篇-购买云服务器,安装宝塔面板
  9. 2020年华为鲲鹏产业体系研究深度报告
  10. ov5640帧率配置_ov5640摄像头设备驱动
  11. 计算机学院 储昭坤,计算机与信息学院“紫罗兰”团队开展志愿服务活动
  12. 概率论与数理统计前两章总结
  13. 学生党直呼哇塞的几个超好用工具
  14. 最小生成树(库鲁斯卡尔算法)
  15. 高速公路二维码定位报警系统
  16. 怎么放大图片像素不模糊?
  17. numpy 对矩阵,数组的操作
  18. 计算机接口中的shl,西门子200的PLC中SHL和ROL的区别,还...-卓优商学问答
  19. 直升机航模倾斜器研究总结
  20. 1008-基于SSM的二手图书交易平台

热门文章

  1. OpenGL Overdraw Count透支数的实例
  2. C++中 static 关键字的作用
  3. C++class类(I)
  4. QT的QStylePlugin类的使用
  5. QT的QDialogButtonBox类的使用
  6. java 最长回文串_通俗易懂的最长回文串图解、说明及Java代码(中心扩散法和Manacher算法)...
  7. CUDA ERROR: device-side assert triggered at解决
  8. 44_pytorch数据增强,Resize,Flip,Rotate,Random Move Crop,Scale,Crop Part,Noise
  9. Quartz + spring 定时任务常见错误总结
  10. CSS中一个font缩写的实例