开发者社区> 上海-悠悠> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

appium+python自动化26-模拟手势点击坐标(tap)

简介: ​# 前言: 有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问) 那就拿出绝招:点元素所在位置的坐标 tap用法 1.tap是模拟手指点击,一般页面上元素 的语法有两个参数,第一个是positions,是list类型最多五个点,duration是持续时间,单位毫秒 ta...
+关注继续查看

​# 前言:
有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问)
那就拿出绝招:点元素所在位置的坐标

tap用法

1.tap是模拟手指点击,一般页面上元素
的语法有两个参数,第一个是positions,是list类型最多五个点,duration是持续时间,单位毫秒

tap(self, positions, duration=None):

    Taps on an particular place with up to five fingers, holding for a certain time
    
    模拟手指点击(最多五个手指),可设置按住时间长度(毫秒)
    
    :Args:
    
    - positions - list类型,里面对象是元组,最多五个。如:[(100, 20), (100, 60)]
    
    - duration - 持续时间,单位毫秒,如:500
    
    :Usage:
    
    driver.tap([(100, 20), (100, 60), (100, 100)], 500)

坐标定位

1.如下图定位"去看看"这个按钮的坐标,可以看到右侧bonds属性:[374,831][654,906]

img_91174828dd61fea547c63a9befcd6c22.png

2.点右上角"搜索"按钮,查看bonds属性:[615,52][690,146]

img_8ce6f6a7c8495c86ab72e877a2e9dfd4.png

参考案例

# coding:utf-8
from appium import webdriver
from time import sleep
desired_caps = {
                'platformName': 'Android',
                'deviceName': '127.0.0.1:62001',
                'platformVersion': '4.4.2',
                'appPackage': 'com.baidu.yuedu',
                'appActivity': 'com.baidu.yuedu.splash.SplashActivity'
                }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

sleep(5)
# 点弹出框去看看
driver.tap([(374, 831), (654, 906)], 500)

# 返回上一页
driver.back()
sleep(2)

# 点右上角搜素按钮
driver.tap([(615, 52), (690, 146)], 500)

弊端

通过坐标定位是元素定位的下下下策,实在没办法才用这个,另外如果换了手机分辨率,这个坐标就不能写死了,得算出所在屏幕的比例。

在学习过程中有遇到疑问的,可以加appium(python+java) QQ群交流:512200893

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python--根据任意非网格经纬度坐标,找到均匀网格点上最接近的经纬度坐标
需求:根据非规则经纬度坐标,查找均匀网格点上最接近的经纬度坐标,并提取该点上的变量。
0 0
python 如何将nc文件中的经度从从0-360更改为-180到180,并按照坐标排序
python 如何将nc文件中的经度从从0-360更改为-180到180,并按照坐标排序
0 0
python matplotlib.axes相关属性设置(绘图方式、坐标轴、坐标刻度、文本等)
为什么要用 ax ,而不是 plt 呢? 因为在绘制子图过程中,对于每一个子图的不同设置,ax 可以直接实现对于单个子图的设定,因此掌握必要的 ax 设置命令尤为重要!
0 0
使用python下载地图边界坐标(省市县级)
使用python下载地图边界坐标(省市县级)
0 0
Python+Appium自动化测试(12)-通过坐标定位元素
在使用appium做app自动化测试的过程中,可能会遇到元素的属性值不是唯一的情况,导致不能通过find_element_bi_xx()方法定位元素,这个时候我们就可以通过坐标来定位元素。
0 0
Python+Appium自动化测试(11)-location与size获取元素坐标
appium做app自动化测试过程中,有时需要获取控件元素的坐标进行滑动操作。appium中提供了location方法获取控件元素左上角的坐标,再通过size方法获取控件元素的宽高,就可以得到控件元素更多的坐标。
0 0
Python地理位置信息库geopy的使用(二):根据中心点坐标,方向,距离计算坐标
上一篇文章我们介绍了geopy的基本使用,这一篇文章我们根据中心点坐标,方向,距中心点距离计算出对应的坐标点,这种用法官网并没有给出详细的文档,我们这里做一下说明 生成坐标点的具体方法 import geopy.
845 0
Python编程:MySQLdb模块对数据库的基本增删改查操作
Python编程:MySQLdb模块对数据库的基本增删改查操作
0 0
+关注
上海-悠悠
python自动化测试爱好者,擅长selenium,appium自动化
文章
问答
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
Python 脚本速查手册
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载