appium滑动、拖动操作

要实现在手机中滑动、拖动操作,首先需要定位到的坐标,或者使用元素实现滑动、拖动

可以使用绝对坐标和相对坐标

由于绝对坐标在更换手机或改变分辨率大小后不能重复利用,推荐使用相对坐标

首先获得屏幕width、height

screen_size = driver.get_window_size()#返回一个当前屏幕宽高的字典
width = screen_size['width']
height = screeen_size['height']

1.使用点的坐标实现滑动、拖动

  • 使用绝对坐标(可以使用appium也可以使用模拟器获得坐标)

起点:x1=123,y1=222
终点:x2=345,y2=555
#使用绝对坐标
driver.swipe(x1,y1,x2,y2,1000)  #单手指从起点直线滑动到终点,时间为1000ms#使用相对坐标(推荐)
x1=width*0.8
y1=height*0.2
x2=width*0.5
y2=height*0.7
driver.swipe(x1,y1,x2,y2,800)

2.使用元素定位实现滑动、拖动

e1 = driver.find_element_by_id('xxx')
e2 = driver.find_element_by_id('xxx')
driver.scroll(e1,e2,600)    #从e1元素位置移动到e2元素

3.使用TouchAction类实现鼠标点击、拖动等操作

from appium.webdriver.common.multi_action import MultiAction
from appium.webdriver.common.touch_action import TouchActionscreen_size = driver.get_window_size()
width = screen_size['width']
height = screen_size['height']
x1 = width*0.7
y1 = height*0.6
# 单一动作执行
action1 = TouchAction(driver)
action1.press(x=x1, y=y1).wait(400).release().perform()#点击(x1,y1)并抬起#perform()表示执行动作,没有加perform()动作不会被执行#多个动作一起执行
action2 = TouchAction(driver)
mul_ac = MultiAction(driver)
mul_ac.add(action1, action2)
mul_ac.perform() #同时执行action1、action2,
#此时执行完后mul_ac里面的动作会被清空,
#想要再次执行动作需要先往里面添加(add)动作之后再执行(perform)

注意:

如果滑动、点击等无效,可以尝试更换配置:
将uiautomator在uiautomator1和uiautomator2之间换着使用


appium-滑动、拖动操作相关推荐

  1. python+Appium 滑动界面操作遇到取的元素宽度为负数

    如果遇到返回的宽度为负数 例如:print(ele.size) 解决方案: desired_caps['automationName'] = 'uiautomator2' 修改底层测试库配置为'uia ...

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

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

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

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

  4. Appium滑动选择日期

    Appium封装对日期控件的操作 在app中针对日期控件的常见处理方式 如果是第三方库,并且有公开的api接口,就可以直接使用python或者android的uiautomator这个工具直接去调用, ...

  5. jquery监听向上向下滑动,滑动执行操作

    jquery监听向上向下滑动,滑动执行操作 // 滚动之前 var beforeScrollTop = $(window).scrollTop(); $(window).on("scroll ...

  6. Cypress之模拟键盘鼠标操作以及页面元素拖动操作

    上篇文章讲解了使用cypress框架时,如何上传或者下载文件,以及定位操作iframe和shadow dom下的页面元素.此次课程将讲解如何模拟键盘输入.鼠标操作以及如何拖动页面元素,另外,会介绍如何 ...

  7. pytorch手动实现滑动窗口操作,论fold和unfold函数的使用

    ∇ \nabla ∇ 联系方式: e-mail: FesianXu@gmail.com QQ: 973926198 github: https://github.com/FesianXu 知乎专栏: ...

  8. c# 利用 两个TREEVIEW控件完成TEENODE的鼠标拖动操作

    c# 利用 两个TREEVIEW控件完成TEENODE的鼠标拖动操作 功能说明: 我们有两个TREEVIEW控件--TREEVIEW1,TREEVIEW2.Treeview1内有三个NODE,Tree ...

  9. appium滑动操作(向上、向下、向左、向右滑动)

    测试项目:今日头条.apk 对今日头条的app进行滑动操作(向上.向下.向左.向右滑动) 源码附上 def getSize(): #获取当前的width和height的x.y的值 x = driver ...

  10. python模拟点击手机_Python Appium 滑动、点击等操作

    1.手机滑动-swipe 查看源码 Ctrl + 鼠标右键点击 driver.swipe() 查看源码语法,起点和终点四个坐标参数. 手机屏幕从左上角开始为0,向右为x轴坐标,向下为y轴坐标. dur ...

最新文章

  1. linux内核支持硬盘,Intel 10nm桌面版还是来了:Linux内核已支持
  2. js ==与===区别(两个等号与三个等号)
  3. 怎么学python-结合学习经历,谈一谈如何学习Python
  4. Android提供的LruCache类简介
  5. Linux VNC黑屏(转)
  6. CorrTracker解读
  7. mui 图片预览(自定义)功能 - 案例篇
  8. 茄子快传 java,如何打造茄子快传这样一款Android应用(项目已完成,github)
  9. nolo手柄配对不上_nolo手柄连接不上
  10. antd table动态表头_react动态配置antd table的columns
  11. openoffice转换pdf 异常问题查找处理 errorCode 525
  12. 29.日志路由组件(2)
  13. java去除 r_Android apk瘦身最佳实践(一):去除R.class
  14. H264/AVC协议基本概况
  15. 继电保护整定值计算软件_继电保护整定计算软件功能介绍
  16. 2021-04-20
  17. Maven Helper
  18. WPF快速学习--一布局
  19. MATLAB中图像邻域处理
  20. 卖旧手机时恢复出厂设置就能不泄露数据?微信官方辟谣了!

热门文章

  1. 设计配色的基本知识以及原理
  2. Codesys + BeagleBone PLC控制达到小儿科水平
  3. php简易微博系统,基于html、css、PHP开发一个简单的微型博客系统(微博)
  4. 安徽自招大专计算机,2021年安徽自主招生学校名单有哪些,安徽自主招生大专院校名单【详细版】...
  5. IDL多进程批处理遥感数据
  6. python timepicker_Android DatePicker和TimePicker:时间日期选择器
  7. 平面一般力系最多可以求解_利用平面任意力系的平衡方程最多可求解几个未知量(  )。...
  8. 产品设计-产品框架设计
  9. 软件测试人员能力模型
  10. 自动售检票系统是基于计算机,车站自动售检票系统存在的必要性