关键词搜索

源码搜索 ×
×

Python笔记-UiSelector混合定位

发布2020-07-21浏览1116次

详情内容

这里有如下几种方式完成功能。

 

第一种是使用:布局找child:

是这样找的:

在android.widget.RelativeLayout下面的android:id/text1是“我的”,先找android.widget.RelativeLayout再找android:id/text1

代码如下:

  1. import uiautomator2 as u2
  2. d = u2.connect_usb("8681-A01-0xc60fcc9d")
  3. d.app_start(package_name="com.wandoujia.phoenix2")
  4. print("step 1")
  5. #链式定位方式
  6. d(className="android.widget.RelativeLayout").child(text="我的").click()
  7. print("step 2")

 

第二种方式进行定位:

先找android.widget.RelativeLayout再找android:id/icon,这里是第5个所以是[4]

  1. import uiautomator2 as u2
  2. d = u2.connect_usb("8681-A01-0xc60fcc9d")
  3. d.app_start(package_name="com.wandoujia.phoenix2")
  4. print("step 1")
  5. #链式定位方式
  6. #d(className="android.widget.RelativeLayout").child(text="我的").click()
  7. #完全的链式定位方法
  8. d(className="android.widget.RelativeLayout").child(resourceId="android:id/icon")[4].click()
  9. print("step 2")

先找这个:

再找:

第三种是找找兄弟节点:

  1. import uiautomator2 as u2
  2. d = u2.connect_usb("8681-A01-0xc60fcc9d")
  3. d.app_start(package_name="com.wandoujia.phoenix2")
  4. print("step 1")
  5. #链式定位方式
  6. #d(className="android.widget.RelativeLayout").child(text="我的").click()
  7. #完全的链式定位方法
  8. #d(className="android.widget.RelativeLayout").child(resourceId="android:id/icon")[4].click()
  9. #找兄弟节点
  10. d(resourceId="com.wandoujia.phoenix2:id/g8").sibling(resourceId="com.wandoujia.phoenix2:id/g8")[4].child(resourceId="android:id/icon").click()
  11. print("step 2")

这里是这样找的:

下标为4,也就是第5个,然后找其child,这个child通过resourceId查找,其值为android:id/icon

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载