以豌豆荚为例:
普通的操作:
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")
运行截图如下: