当前位置: 首页 > news >正文

Appium元素定位(全网详细讲解)(二)

1.appium inspector(定位元素的工具)使用方法

详细介绍: 

 详细解释:

图标名称说明
1Show Element Handles是否显示元素句柄
2Select Elements选择元素定位
3Tap/Swipe By Coordinates按坐标点击/滑动
4Download Screenshot下载屏幕截图
5Press Back Button按下后退按钮
6Press Home Button按主页按钮
7Press App Switch Button按应用程序切换按钮
8Native App Mode本机应用程序模式
9Web/Hybrid App ModeWeb/混合应用程序模式
10Refresh Source & Screenshot刷新源和屏幕截图
11Search for element搜索元素
12Start Recording开始录制
13Quit Session & Close Inspector退出会话并关闭检查器

2.appium定位方法

(1)目标元素有 resource-id 且该 id 唯一 , 或排第一个
driver.find_element_by_id
(2)目标元素有 content-desc 属性
driver.find_element_by_accessibility_id
(3)以上条件均不具备 -XPATH
driver.find_element_by_xpath
备注: appium 寻找元素的形式与 selenium 基本相同, 都有单数和复数形式,
find_element_by_XXX 符合条件的 第一个元素 ,找不到抛出异常(所以如果自己所找的元素,匹配到了多个值,若该值显示在第一个的话,就可以用该表达式)
find_elements_by_XXX 符合条件的所有元素的列表,找不到返回空列表
同时也有全局查找和局部查找
通过 WebDriver 查找范围是整个界面树形结构
通过 WebElement 查找范围是该节点的子节点
Xpath appium 中的原理
Appium 中,我们没法使用 css ,因为 css web 专用的
web 不同,底层测试驱动并不识别 XPATH
Appium 负责解析 xpath 给底层测试驱动来识别
每个节点名对应元素的 class 属性
对于一些比较复杂的元素的定位,我们可以用它定位
driver.find_element_by_xpath('//ele1/ele2[@attr="a1"]')
xpath 表达式
(1)通过 ID 选择
//*[@resource-id="com.hpbr.bosszhipin:id/view_job_card"]
(2)通过 CLASS 选择
//android.view.ViewGroup
(3)通过其他属性选择
//*[@ 属性 =" 属性值 "]
(4)选择子元素
// [@ 属性 =" 属性值 "]/
(5)选择父元素
//*[@ 属性 =" 属性值 "]/..
http://www.lryc.cn/news/397370.html

相关文章:

  • 滑动窗口,最长子序列最好的选择 -> O(N)
  • 【Python】已解决:Python安装过程中的报错问题
  • C++ STL IO流介绍
  • 华为浏览器,Chrome的平替,插件无缝连接
  • SpringBoot新手快速入门系列教程:前述
  • C语言9 指针
  • Floyd判圈算法——寻找重复数(C++)
  • 面试题目分享
  • Solana开发之Anchor框架
  • 界面组件Kendo UI for React 2024 Q2亮点 - 生成式AI集成、设计系统增强
  • python输出/sys/class/power_supply/BAT0/电池各项内容
  • HDFS体系架构文件写入/下载流程
  • 大模型之战进入新赛季,开始卷应用
  • MySQL8.4.0 LTS安装教程 【小白轻松上手2024年最新长期支持版本MySQL手把手保姆级Windows超详细图文安装教程】
  • Linux 例题及详解
  • 爆款文案管理系统设计
  • FPGA-Verilog-Vivado-软件使用
  • Ambari Hive 创建函数无权限
  • ARM GEC6818 LCD绘图 实心圆 三角形 五角星 任意区域矩形以及旗帜
  • Sentinel-1 Level 1数据处理的详细算法定义(三)
  • 一款永久免费的内网穿透工具——巴比达
  • 翻译|解开LLMs的神秘面纱:他们怎么能做没有受过训练的事情?
  • 代码随想录-DAY⑦-字符串——leetcode 344 | 541 | 151
  • JavaScript(7)——数组
  • Spark RDD优化
  • idea:解决Maven报错 Properties in parent definition are prohibited
  • 代理IP池:解析与应用
  • MQTT是什么,物联网
  • 分布式训练
  • day10:04一文搞懂decode和decoding的区别