UI自动化之driver.Tap坐标定位

2023-05-16

相信做UI自动化的小伙伴都知道,appium不是左右页面的元素都能定位的到的,尤其是原生中嵌套了H5页面,所有这个时候我们可以通过坐标定位的方式去解决,理论上坐标定位可以解决所有的元素识别问题,但有一个缺点,那就是只负责点击,却不管是不是我们自己要点击的,甚至会因为点击不是我们想要的而导致报错,这是个很坑的事,怎么搞那么直接来代码:

    def __init__(self,driver):
        self.driver = driver
        # 获取屏幕的 size
        self.size = driver.get_window_size()
        # 获取屏幕宽度 width
        self.width = self.size['width']
        # 获取屏幕高度 height
        self.height = self.size['height']
    # 坐标定位、点击长按通用,调试机型屏幕分辩2280*1080,只适配全面屏、2K
    # 注意全面屏与有底部导航的分辨率不一样,要考虑Y轴的底部导航,[(x,y),z],z:持续时间
    def driverTap(self,x,y,z=None):
        self.driver.tap([((x/1080)*self.width,(y/2280)*self.height)],z)

简单的说明:
1、driver.tap有两个参数分别是[(x,y)],z,即要点击的坐标[(x,y)],点击的持续时间z,这里可以用到长按的操作中,还有[(x,y)] 是一个整体参数,记得带[(,)],当初我就在这里躺坑,一直报参数given错误
2、方法里的1080/2280指的是调试机型的屏幕分辨率,注意有些不是全面屏或有启用底部导航的要注意Y轴的导航栏高度,实际的计算中要去掉改高度。x、y指的是调试机型的实际坐标,(x/1080)*self.width,(y/2280)*self.height)是坐标换算方法,可用于计算在不同屏幕分辨率手机的实际坐标,这样换手机也能跑了

调用:

driverTap(x,y,z)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UI自动化之driver.Tap坐标定位 的相关文章

  • CCP-CSP 201912-5 魔数 暴力25

    原题链接 xff1a CCP CSP 201912 5 魔数 线段树是写不来的 span class token macro property span class token directive hash span span class
  • CCP-CSP 201909-3 字符画 100

    原题链接 xff1a CCP CSP 201909 3 字符画 这道题我觉得难点主要是不会处理ASCII码的转换 xff0c 还有就是看不懂题 xff0c 其实逻辑不难 参考博客 xff1a CCF CSP 20190903 字符画 100
  • wsl 无法使用netstat

    zshrc
  • 速腾雷达16线实现FAST-LIO2算法建图

    速腾雷达16线实现FAST LIO2算法建图 一 配置激光雷达数据1 下载rsladir SDK包到catkin ws src下2 添加依赖3 配置参数 xff1a 4 编译测试5 将雷达格式转换为velodyne格式6 将转换格式嵌入到s
  • HuTool工具最全介绍

    简介 xff1a Hutool是一个小而全的Java工具类库 xff0c 通过静态方法封装 xff0c 降低相关API的学习成本 xff0c 提高工作效率 xff0c 使Java拥有函数式语言般的优雅 xff1b 提供了Java基础工具类
  • 【hnu暑学期】数据库系统设计 准备阶段

    说些什么 那年杏花微雨 xff0c 你说你是数据库 xff0c 或许一开始便都是错的 如果学弟学妹们可以在暑学期选课前看到这篇博文的话 快跑 xff01 快跑 xff01 快跑 xff01 本来是想着数据库比较水的 xff0c 可以随便混一
  • 古代有一个梵塔,塔内有 A、B、C 三个基座,A 座上有 64 个盘子,盘子大小不等,大的在下,小的在上

    古代有一个梵塔 xff0c 塔内有 A B C 三个基座 xff0c A 座上有 64 个盘子 xff0c 盘子大小不等 xff0c 大的在下 xff0c 小的在上 有人想把这 64 个盘子 从 A 座移到 C 座 xff0c 但每次只允许
  • 修改mysql 8.0密码

    1 首先说明 xff1a 正确的修改密码方式 xff1a span class token constant ALTER span span class token constant USER span span class token s
  • P1591 阶乘数码洛谷

    题目描述 求n 中某个数码出现的次数 输入格式 第一行为t 10 xff0c 表示数据组数 接下来t行 xff0c 每行一个正整数n 1000 和数码a 输出格式 对于每组数据 xff0c 输出一个整数 xff0c 表示n 中a出现的次数
  • 多神经网络轨迹跟随控制(MATLAB实现)

    多神经网络轨迹跟随控制 xff08 MATLAB实现 xff09 本文是我基于自己的理解实现的多神经轨迹跟随控制 xff0c 可能不太正确 xff0c 但仍记录下来 此题目当我刚看到的时候一头雾水 xff0c 经过看PPT和自己实践貌似搞出
  • turtlebot3 Slam建图和导航仿真

    turtlebot3 Slam建图和导航仿真 使用RViz仿真Turtlebot3 RViz简介 RViz是ROS的三维可视化工具 它的主要目的是以三维方式显示ROS消息 xff0c 可以将数据进行可视化表达 例如无需编程即可表达激光测距仪
  • 【MATLAB APPdesigner ui设计实现软件动态页面启动 】(启动无标题栏)

    MATLAB APPdesigner实现软件动态页面启动 xff08 启动无标题栏 xff09 前言实现实现动态界面启动隐藏动态界面启动的标题栏 前言 最近需要验收利用MATLAB所实现的控制系统 xff0c 为了更好的展示 xff0c 因
  • 激光雷达方程推导与激光器参数指标

    激光雷达方程推导与激光器参数指标 激光雷达方程推导多种目标类型下的激光雷达方程激光器的参数指标 激光雷达方程推导 设定目标与激光雷达的距离为 R R R xff0c 发射激光束的发散角为
  • mpc模型预测控制原理详解

    mpc模型预测控制原理详解 前言mpc算法步骤mpc算法推导 前言 本文是对mpc模型预测控制学习的记录 xff0c 主要参照了DR CAN老师的视频进行学习 视频专栏链接 xff1a DR CAN老师mpc视频专栏 在这篇博客中博主也针对
  • C++基础回顾(上)

    C 43 43 基础回顾 xff08 上 xff09 目录 C 43 43 基础回顾 xff08 上 xff09 前言关键字和标识符运算符数据类型函数类 前言 C 43 43 之前学过一点 xff0c 但是很长时间都没用过 xff0c 翻出
  • 自适应控制专栏目录及介绍

    目录 自适应控制专栏目录及介绍第一篇 xff1a 具有不确定参数系统的自适应跟踪控制设计 ADi hhh的博客 CSDN博客 https blog csdn net qq 45830323 article details 129713051
  • 【五一创作】Qt quick基础1(包含基本元素Text Image Rectangle的使用)

    Qt quick基础1 xff08 包含基本元素Text Image Rectangle的使用 xff09 目录 Qt quick基础1 xff08 包含基本元素Text Image Rectangle的使用 xff09 前言qt中有直接设
  • 网站使用微信登录接口,所踩的坑...

    一 如何开通微信公众号 微信开发平台 授权认证 接口权限申请等等 xff0c 这些不在本文描述 xff0c 请参考官方资料 二 假设已顺利完成第一步的工作 xff0c 现在需要在自己开发的网站 xff08 PC端 移动端 xff0c 注意两
  • Qt quick基础2(包含平移旋转放缩以及qml控件大写开头啊)

    Qt quick基础2 xff08 包含平移旋转放缩以及qml控件大写开头啊 xff09 目录 Qt quick基础2 xff08 包含平移旋转放缩以及qml控件大写开头啊 xff09 前言简单的平移 旋转和放缩其他元素的一些基本使用qml
  • 虚幻引擎配置物体水面浮力的简便方法

    虚幻引擎配置物体水面浮力的简便方法 目录 虚幻引擎配置物体水面浮力的简便方法前言前期工作配置水面浮力针对一个立方体的水面浮力配置针对船3D模型的水面浮力配置 小结 前言 在使用虚幻引擎配置导入的3D模型时 xff0c 如何快速地将水面浮力配

随机推荐

  • 用栈实现回文字符串的判断

    用栈实现回文字符串的判断 栈是一种后进先出的数据结构 xff0c 它只能在一段进行插入和删除操作 例如一个字符串 34 12321 34 像这种 xff0c 无论正读反读均相同的字符序列 xff0c 就叫做回文字符串 首先 xff0c 我们
  • 安装diffuse 解决dpkg依赖问题

    安装diffuse报错 xff0c 缺少依赖 xff0c 安装地址 flynnsin 64 flynnsin Downloads span class token function sudo span dpkg span class tok
  • 软件工程整理

    软件工程总结 第一章1 软件2 软件工程3 软件工程环境4 三种编程范例 第二章1 软件生存周期2 软件生存周期的主要活动 3 软件过程 第三章1 结构化分析SA2 DFD xff08 数据流 xff09 图3 结构化设计SD xff08
  • TCP客户端增加多线程与TCP服务端增加多线程

    TCP客户端增加多线程 xff08 ps xff1a 仅有代码 xff0c 小伙伴们利用百度 xff0c 冲啊 xff01 xff01 xff01 xff09 span class token comment coding 61 utf 8
  • 梯度下降与矩阵分解

    1 梯度下降 梯度下降属于迭代法的一种 xff0c 所谓迭代法就是不断用变量的旧值得到新值的方法 在求解损失函数最小值的时候 xff0c 可以通过梯度下降法来一步步迭代求出最小化的损失函数和模型参数值 梯度 xff1a 对于一元函数来说 x
  • 求解gcd最大公约数的两种算法

    文章目录 1 更相减损术2 辗转相除法3 两种算法的比较 1 更相减损术 即 xff1a 辗转相减法 是由我国古代 九章算术 提出的一种求解最大公约数 Grand Central Dispatch 的算法 代码示例 xff1a span c
  • 【AWVS】python调AWVS接口 新建扫描并导出扫描报告(一)

    文章目录 前言一 先上完整python代码二 AWVS介绍三 准备工作1 获取 API KEY2 Header 设置1 接口介绍2 python代码 3 屏蔽警告 四 接口验证1 查看Targets扫描队列1 接口介绍2 python代码3
  • Echarts中国地图与世界地图实战

    文章目录 前言一 先上代码1 中国地图2 世界地图 二 图示1 中国地图2 世界地图 二 Echarts简介1 介绍2 实战流程1 引入echarts js2 定义一个图表容器DIV xff0c 定义id 61 xxx3 初始化echart
  • 部署微软的Bringing-Old-Photos-Back-to-Life,实战和踩坑

    在Windows 10上部署 微软的 Bringing Old Photos Back to Life 关于 Bringing Old Photos Back to Life部署的步骤1 下载源代码2 下载组件2 1 下载PyTorch h
  • 【AWVS】python调AWVS接口 新建扫描并导出扫描报告 [自定义扫描报告](三)

    文章目录 前言一 代码二 关键技术2 1 代码2 2 最重要的方法 replace 2 1 1 描述2 1 2 语法2 1 3 参数2 1 4 特别注意 2 3 实现方法2 3 1 修改左上角logo2 3 2 修改文字 三 修改图片的另一
  • 【web】data:image/png;python-base64用法与实现(一)

    文章目录 一 应用场景二 Data URI Scheme三 python base64文件编解码3 1 编码3 1 1 代码3 1 2 输出结果3 1 3 实现步骤 3 2 解码3 2 1 代码 一 应用场景 在html的源码中 xff0c
  • 【python】json.dumps() 与 json.loads() 用法

    文章目录 一 JSON介绍二 Python和Json数据类型的映射三 json load s 与json dump s 区别四 测试4 1 json dumps 4 2 json loads 4 3 json dump 4 4 json l
  • 【信息收集】利用Wappalyzer进行cms指纹识别(十)

    文章目录 一 Wappalyzer介绍二 设计原理三 python实现代码 一 Wappalyzer介绍 Wappalyzer 是一款浏览器插件 xff0c 通过 Wappalyzer 可以识别出网站采用了那种 web 技术 它能够检测出
  • 【word】批量添加图片题注与批量更新图注

    一 批量添加图注 1 选择一张图片插入题注 xff0c 选中题注 xff0c 然后快捷键shift 43 F9切换为域代码 2 CTRL 43 C复制 xff0c 然后CTRL 43 H打开查找和替换对话框 注意只选择 x y 部分 xff
  • 【Ubuntu】Ubuntu20基础配置+go开发配置

    这里写自定义目录标题 1 基础配置1 1 安装ifconfig网络管理工具1 2 初始化root密码1 3 换镜像源1 4 关闭息屏休眠1 5 关闭自动更新 2 开发环境2 1 go2 1 1 建立软件目录并安装软件2 1 2 建立go工作
  • 【git】git的一些基础操作

    文章目录 一 git下载二 git初次操作1 生成公钥2 修改全局用户名和邮箱地址 xff1a 3 本地仓库关联远端仓库4 本地初始化5 将项目上所有的文件添加到本地仓库6 提交到本地仓库7 创建main分支8 推送到main分支9 拉取远
  • 【anaconda】anaconda学习总结

    文章目录 1 anaconda介绍2 anaconda下载3 简单配置3 1 加入环境变量3 2 配置pycharm3 3 换源 4 相关命令 1 anaconda介绍 Anaconda指的是一个开源的Python发行版本 xff0c 其包
  • python项目打包成依赖

    python项目打包成依赖 xff08 可以pip install 安装 xff09 python打包成pip包 用途 xff1a 可以将别人的代码打包成pip包 xff0c 用pip安装到自己的项目中 xff0c 也可以将自己的代码打包
  • Linux热键详解:Tab键,Ctrl+c、Ctrl+d

    1 Tab键接在一串命令的第一个字段后面 xff0c 则为命令补全 xff1b 若输入is后按两下Tab键则会把所有以is开头的命令都显示出来 xff0c 若时输入ifcon因为其对应的命令只有ifconfig xff0c 所以按一下Tab
  • UI自动化之driver.Tap坐标定位

    相信做UI自动化的小伙伴都知道 xff0c appium不是左右页面的元素都能定位的到的 xff0c 尤其是原生中嵌套了H5页面 xff0c 所有这个时候我们可以通过坐标定位的方式去解决 xff0c 理论上坐标定位可以解决所有的元素识别问题