【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内容》
感谢:的文章《》
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?