uiautomator2 安装
python uiautomator2 安装及使用-CSDN博客
一, 通过包名可以打开app
d.app_start('com.gacne.www')
打开app运行后执行代码,查看app具体信息获取包名
d.info
二,执行等待点击
# 160秒内等待xpath定位的出现执行点击
d.xpath('//*[@text="此地"]').wait(160).click()
三,屏幕截图
png_path = './images/'+str(i)+'.png'
d.screenshot(png_path)
四,获取文本内容
#第一种
d.xpath('//*[@resource-id="cache-content"]/android.view.View[3]/android.widget.TextView[2]').info.get('text')
#第二种
d.xpath('//*[@resource-id="cache-content"]/android.view.View[3]/android.widget.TextView[2]').get_text()
五,定位元素
(3)ResourceId定位
d(resourceId="com.addcn.android.house591:id/ad_banner").click()
(4)Text定位
d(text="精选").click()
(5)Description定位
d(description="..").click()
(6)ClassName定位
d(className="android.widget.TextView").click()
(7)xpath定位
d.xpath("//*[@content-desc='分享']").click()
六,通过父级定位元素
d(resourceId="com.ss.android.ugc.aweme:id/a0b").child(className="android.widget.FrameLayout")
选择父级下的一个元素
d(className="androidx.recyclerview.widget.RecyclerView").child(className="android.widget.FrameLayout")[0].get_text()
child_by_text 定位子元素
#定位父级下text为'xxx',class为'com.lynx.tasm.behavior.ui.text.FlattenUIText'的元素
d(resourceId="com.ss.android.ugc.aweme:id/a0b").child_by_text('xxx',className="com.lynx.tasm.behavior.ui.text.FlattenUIText")
child_by_description
#定位父级下description 为'xxx',class为'com.lynx.tasm.behavior.ui.text.FlattenUIText'的元素
re = d(resourceId="com.ss.android.ugc.aweme:id/a0b").child_by_description('xxx',className="com.lynx.tasm.behavior.ui.text.FlattenUIText")
siblings
#定位text为'xxx',class为'com.lynx.tasm.behavior.ui.view.UIView'的兄弟元素
d(text="zcdsczzx").sibling(text="xxx",className="com.lynx.tasm.behavior.ui.view.UIView")