一、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. 哇塞,实测780MB/s!基于RK3568J与FPGA的PCIe通信案例详解

    ARM + FPGA架构有何种优势 近年来,随着中国新基建.中国制造2025的持续推进,单ARM处理器越来越难满足工业现场的功能要求,特别是能源电力.工业控制.智慧医疗等行业通常需要ARM + FPG ...

  2. mermaid语法画图

    mermaid 脚本语言 graph TB 从上到下 graph BT 从下到上 graph RL 从右到左 graph LR 从左到右 graph LR; A001-->B001; graph ...

  3. react 拖拽组件 自由拖拽,垂直水平拖拽

    react拖拽组件 推荐几个不错的开源拖拽组件以及使用方法 第一个拖拽组件 antd的Tree组件 这个拖拽组件经常用于层级关系的拖拽组件 可以动态的增删改 (排序,添加子层级~父层级,修改等). i ...

  4. springboot实现异步调用demo

    springboot实现异步调用 异步调用特点 异步调用在开发程序中被广泛应用,在异步任务中,主线程不需要阻塞等待异步任务的完成,而是可以继续处理其他请求. 异步调用的特点如下: 非阻塞:主线程在调用 ...

  5. 洛谷P1747

    这个题被坑麻了,题目居然不给棋盘的范围,评论区居然有人说棋盘是无限大的,我想说的是如果真是这样那么第9个点答案应该是2而不是3,这个棋盘绝对是有大小的. #include<iostream> ...

  6. .NET 9 预览版6发布

    微软发布了 .NET 9 的第 6 个预览版,此版本包括对运行时.SDK..NET MAUI.ASP.NET Core 和 C# 的更新,预览版没有包含太多新的主要功能或特性,因为已接近 .NET 9 ...

  7. Day 7 - 哈希与 KMP

    字符串哈希 定义 我们定义一个把字符串映射到整数的函数 \(f\),这个 \(f\) 称为是 \(\text{Hash}\) 函数. 我们希望这个函数 \(f\) 可以方便地帮我们判断两个字符串是否相 ...

  8. 第七节 JMeter基础-高级登录【数据驱动-参数化】

    声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改. 背景:一个接口的不同情况,其实就是请求参数不一样.期望结果不一样.把这些不一样的东西都提取出来进行管理,下次可以直接使用.因 ...

  9. Windows11下使用VcXsrv+xfce4实现图形化窗口

    通过 sudo apt-get install xfce4-terminal sudo apt-get install xfce4 sudo service dbus restart 来安装所需要的软 ...

  10. mybatis源码配置文件解析之五:解析mappers标签(解析class属性)

    在上篇文章中分析了mybatis解析mapper标签中的resource.url属性的过程,<mybatis源码配置文件解析之五:解析mappers标签(解析XML映射文件)>.通过分析可 ...