一、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】之元素定位总结(更新)的更多相关文章

  1. 初探appium之元素定位(1)

    无论是selenium还是appium,元素定位都是我们开始实现自动化面临的第一个问题.selenium还好,我们可以在浏览器的调试页面进行元素定位还是蛮方便的.那么appium怎么做呢? 我看到很多 ...

  2. Appium Python 五:元素定位

    总结 单个元素定位: driver.find_element_by_accessibility_id(id) driver.find_element_by_android_uiautomator(ui ...

  3. Appium Android 元素定位方法 原生+H5

    APPIUM Android 定位方式   1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement eleme ...

  4. python+selenium遇到元素定位不到的问题,顺便记录一下自己这次的错误(报错selenium.common.exceptions.NoSuchElementException)

    今天在写selenium一个发送邮件脚本时,遇到一些没有找到页面元素的错误.经过自己反复调试,找原因百度,终于解决了.简单总结一下吧,原因有以下几点: 一:Frame控件嵌套,.Frame/Ifram ...

  5. Appium Desktop 元素定位和脚本录制功能

    Appium Desktop除了可以做Server之外还可以进行元素定位和脚本录制功能,点击放大镜按钮,进入页面设置.开始配置Desired Capabilities. 配置Desired Capab ...

  6. Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,clas ...

  7. appium之元素定位方法

    做App UI自动化的时候,appium使用最频繁的应该就是定位元素了. Appium常用的元素属性值: resource-id:resource-id属性一般ID是唯一的,如果元素中有ID的话,优先 ...

  8. selenium+python自动化之元素定位

    自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...

  9. 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 ...

  10. Python自动化学习--元素定位

    from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www. ...

随机推荐

  1. 开发一个题库系统App和小程序的心得

    序言 对于一名开发者来说,独自开发一款小程序与App,也许总会有一些疑问: 1. 需要掌握哪些技术? 答:java.vue.及常规Linux命令 2. 需要多少成本? 答:服务器购买,云服务器新人50 ...

  2. 跟我一起学习和开发动态表单系统-前端用vue、elementui实现方法(3)

    基于 Vue.Element UI 和 Spring Boot + MyBatis 的动态表单系统前端实现解析 在现代企业信息系统中,动态表单是一种非常常见的功能.它可以根据业务需求灵活地调整表单结构 ...

  3. Openstack制作Rhel9,使用IOS镜像制作

    转自作者自己的CSDN  拷贝 ==================== 需要已有环境: 1.Openstack 2.qume-img,kvm,virsh.... (yum install qemu- ...

  4. 傻瓜式Java操作MySQL数据库备份(使用mysqldump命令)

    傻瓜式Java操作MySQL数据库备份(使用mysqldump命令) 注释都是由chatGPT生成,有什么问题可以评论交流 @Value("${backup.sql.database}&qu ...

  5. 松灵机器人scout mini小车 自主导航(1)

    松灵机器人scout mini小车 自主导航 最近实验室来了个松灵机器人scout mini的底座.本着学习的目的对其进行了研究,从最基础的连接开始. 1.硬件连接准备 松灵scout mini提供了 ...

  6. VUE手稿1

  7. SpringBoot整合Flyway数据库版本管理

    项目结构 添加依赖 <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-co ...

  8. 基于 Vagrant 手动部署多个 Redis Server

    环境准备 宿主机环境:Windows 10 虚拟机环境:Vagrant + VirtualBox Vagrantfile 配置 首先,我们需要编写一个 Vagrantfile 来定义我们的虚拟机配置. ...

  9. Mysql实现主从复制(一主双从)

    一.环境介绍 LNMP(centos7,mysql5.6) vmware workstation pro配置了3个虚拟机,均安装了LNMP环境: master:  192.168.0.105 slav ...

  10. 2024 暑假友谊赛-热身1(7.11)zhaosang

    A-A https://vjudge.net/contest/639453#problem/A 为了解决这个问题,我们需要确定将墙上的所有数字转换为数字1的最小成本.将数字i转换成数字j的代价由矩阵c ...