【Python + Appium】之元素定位总结(更新)
一、ID定位

uiautomatorviewer里面的:resource-id
driver.find_element(By.ID,"com.csks.businesses:id/tv_number").click()
二、利用index角标定位
# 利用index角标定位 # 获取多个输入框
inputs = driver.find_elements(By.CLASS_NAME,"android.widget.EditText") # 第一个输入框
inputs[0].send_keys("18602603xxx")
# 第二个输入框
inputs[1].send_keys("123123")
三、class定位

# className定位(但是不准)
driver.find_element(By.CLASS_NAME,"android.widget.TextView").send_keys("18602603XXX")
四、XPATH定位

①text定位
# Xpath,利用text定位
driver.find_element(By.XPATH,"//*[@text='DD20200422000001']").click()
②组合定位(text与id)
# Xpath,利用组合定位
driver.find_element(By.XPATH,"//*[@text='请输入密码' and @resource-id='com.csks.businesses:id/edt_password']").send_keys("123123")
五、坐标定位

# 点击页面的坐标
driver.tap([(274, 271), (650, 319)], 500)
六、寻找元素,并点击元素
def swipeUp():
'向上滑动'
width = driver.get_window_size()['width']
height = driver.get_window_size()['height']
driver.swipe(1/2*width,4/5*height,1/2*width,1/5*height) # 寻找元素,并点击
while 1<10:
try:
# 模糊定位
driver.find_element(By.XPATH,"//*[contains(@text,'规格描述:276373')]").click()
break
except:
print("未找到,继续上滑")
swipeUp()
七、模糊定位
# 模糊定位 driver.find_element(By.XPATH,"//*[contains(@text,'规格描述:276373')]").click()
八、定位Toast
# 设置参数需要加上如下参数
capabilities.setCapability("automationName", "uiautomator2");
# 定位toast
toast = driver.find_element(By.XPATH,"//*[contains(@text,'供货数量不能为空')]").text
附录:
感谢:含笑半步颠√ 的文章《Appium_Xpath定位详解》
感谢:aiee 的文章《appium\selenium+python 滑动屏幕直至某元素出现》
感谢:清风软件测试 的文章《appium python 点击坐标 tap》
感谢:youxitou 的文章《【appium】获取toast内容》
感谢:的文章《》
【Python + Appium】之元素定位总结(更新)的更多相关文章
- 初探appium之元素定位(1)
无论是selenium还是appium,元素定位都是我们开始实现自动化面临的第一个问题.selenium还好,我们可以在浏览器的调试页面进行元素定位还是蛮方便的.那么appium怎么做呢? 我看到很多 ...
- Appium Python 五:元素定位
总结 单个元素定位: driver.find_element_by_accessibility_id(id) driver.find_element_by_android_uiautomator(ui ...
- Appium Android 元素定位方法 原生+H5
APPIUM Android 定位方式 1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement eleme ...
- python+selenium遇到元素定位不到的问题,顺便记录一下自己这次的错误(报错selenium.common.exceptions.NoSuchElementException)
今天在写selenium一个发送邮件脚本时,遇到一些没有找到页面元素的错误.经过自己反复调试,找原因百度,终于解决了.简单总结一下吧,原因有以下几点: 一:Frame控件嵌套,.Frame/Ifram ...
- Appium Desktop 元素定位和脚本录制功能
Appium Desktop除了可以做Server之外还可以进行元素定位和脚本录制功能,点击放大镜按钮,进入页面设置.开始配置Desired Capabilities. 配置Desired Capab ...
- Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,clas ...
- appium之元素定位方法
做App UI自动化的时候,appium使用最频繁的应该就是定位元素了. Appium常用的元素属性值: resource-id:resource-id属性一般ID是唯一的,如果元素中有ID的话,优先 ...
- selenium+python自动化之元素定位
自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...
- 3 Python+Selenium的元素定位方法(id、class name、name、tag name)
[环境] Python3.6+selenium3.0.2+IE11+Win7 [定位方法] 1.通过ID定位 方法:find_element_by_id('xx') 2.通过name定位 方法:fin ...
- Python自动化学习--元素定位
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www. ...
随机推荐
- 哇塞,实测780MB/s!基于RK3568J与FPGA的PCIe通信案例详解
ARM + FPGA架构有何种优势 近年来,随着中国新基建.中国制造2025的持续推进,单ARM处理器越来越难满足工业现场的功能要求,特别是能源电力.工业控制.智慧医疗等行业通常需要ARM + FPG ...
- mermaid语法画图
mermaid 脚本语言 graph TB 从上到下 graph BT 从下到上 graph RL 从右到左 graph LR 从左到右 graph LR; A001-->B001; graph ...
- react 拖拽组件 自由拖拽,垂直水平拖拽
react拖拽组件 推荐几个不错的开源拖拽组件以及使用方法 第一个拖拽组件 antd的Tree组件 这个拖拽组件经常用于层级关系的拖拽组件 可以动态的增删改 (排序,添加子层级~父层级,修改等). i ...
- springboot实现异步调用demo
springboot实现异步调用 异步调用特点 异步调用在开发程序中被广泛应用,在异步任务中,主线程不需要阻塞等待异步任务的完成,而是可以继续处理其他请求. 异步调用的特点如下: 非阻塞:主线程在调用 ...
- 洛谷P1747
这个题被坑麻了,题目居然不给棋盘的范围,评论区居然有人说棋盘是无限大的,我想说的是如果真是这样那么第9个点答案应该是2而不是3,这个棋盘绝对是有大小的. #include<iostream> ...
- .NET 9 预览版6发布
微软发布了 .NET 9 的第 6 个预览版,此版本包括对运行时.SDK..NET MAUI.ASP.NET Core 和 C# 的更新,预览版没有包含太多新的主要功能或特性,因为已接近 .NET 9 ...
- Day 7 - 哈希与 KMP
字符串哈希 定义 我们定义一个把字符串映射到整数的函数 \(f\),这个 \(f\) 称为是 \(\text{Hash}\) 函数. 我们希望这个函数 \(f\) 可以方便地帮我们判断两个字符串是否相 ...
- 第七节 JMeter基础-高级登录【数据驱动-参数化】
声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改. 背景:一个接口的不同情况,其实就是请求参数不一样.期望结果不一样.把这些不一样的东西都提取出来进行管理,下次可以直接使用.因 ...
- Windows11下使用VcXsrv+xfce4实现图形化窗口
通过 sudo apt-get install xfce4-terminal sudo apt-get install xfce4 sudo service dbus restart 来安装所需要的软 ...
- mybatis源码配置文件解析之五:解析mappers标签(解析class属性)
在上篇文章中分析了mybatis解析mapper标签中的resource.url属性的过程,<mybatis源码配置文件解析之五:解析mappers标签(解析XML映射文件)>.通过分析可 ...