Python笔记-U2控件操作和操作超时

以豌豆荚为例:

普通的操作:

import uiautomator2 as u2

d = u2.connect_usb("8681-A01-0xc60fcc9d")
d.app_start(package_name="com.wandoujia.phoenix2")
print("step 1")

# 通过多个条件来进行限定
d(resourceId="android:id/text1", text="我的").click()

print("step 2")

这里是可以的,但如果把“我的”改为“我的1”就会卡死:

通过timeout设置超时:

import uiautomator2 as u2

d = u2.connect_usb("8681-A01-0xc60fcc9d")
d.app_start(package_name="com.wandoujia.phoenix2")
print("step 1")

# 通过多个条件来进行限定
d(resourceId="android:id/text1", text="我的1").click(timeout=5)

print("step 2")

这里可以看到UiObjectNotFoundError。

下面是使用click_exist

import uiautomator2 as u2

d = u2.connect_usb("8681-A01-0xc60fcc9d")
d.app_start(package_name="com.wandoujia.phoenix2")
print("step 1")

# 通过多个条件来进行限定
#d(resourceId="android:id/text1", text="我的1").click(timeout=5)

#clicke_exists如果控件存在就点击,不存在就返回
d(resourceId="android:id/text1", text="我的1").click_exists(timeout=5)

print("step 2")

下面是通过exists属性判断控件是否存在:

import uiautomator2 as u2

d = u2.connect_usb("8681-A01-0xc60fcc9d")
d.app_start(package_name="com.wandoujia.phoenix2")
print("step 1")

# 通过多个条件来进行限定
#d(resourceId="android:id/text1", text="我的1").click(timeout=5)

#clicke_exists如果控件存在就点击,不存在就返回
#d(resourceId="android:id/text1", text="我的1").click_exists(timeout=5)

#在操作之前,通过exists属性判断控件是否存在
print(d(resourceId="android:id/text1", text="我的1").exists(timeout=5))

print("step 2")

下面是获取控件信息:

这里用python获取最下面的android.widget.LinearLayout

import uiautomator2 as u2

d = u2.connect_usb("8681-A01-0xc60fcc9d")
d.app_start(package_name="com.wandoujia.phoenix2")
print("step 1")

# 通过多个条件来进行限定
#d(resourceId="android:id/text1", text="我的1").click(timeout=5)

#clicke_exists如果控件存在就点击,不存在就返回
#d(resourceId="android:id/text1", text="我的1").click_exists(timeout=5)

#在操作之前,通过exists属性判断控件是否存在
#print(d(resourceId="android:id/text1", text="我的1").exists(timeout=5))

print(d(resourceId="com.wandoujia.phoenix2:id/a_4").child(className="android.widget.LinearLayout").child(resourceId="com.wandoujia.phoenix2:id/g8").count)

for view in d(resourceId="com.wandoujia.phoenix2:id/a_4").child(className="android.widget.LinearLayout").child(resourceId="com.wandoujia.phoenix2:id/g8"):
    print(view.info)

print("step 2")

运行截图如下:

©️2020 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值