Poco学习笔记
使用Poco选择UI对象
基本选择器
# 根据节点name选取
poco('bg_mission')
# 根据name和其他属性
poco('bg_mission', type='Button')
poco(textMatches='^据点.*$',type='Button',enable=True)
相对选择器
通过UI之间的渲染层级关系进行选择,例如父子关系、祖先后代关系等。
# 通过父子关系/后代关系选择
poco('main_node').child('list_item').offspring('item')
空间顺序选择器
poco(...)[1]
items = poco('main_node').child('list_item').offspring('item')
print(items[0].child('material_name').get_text())
迭代一组对象
items = poco('main_node').child('list_item').offspring('item')
for item in items:
item.child('icn_item')
读取属性
mission_btn = poco('bg_mission')
print(mission_btn.attr('type')) #获取type属性,'Button'
print(mission.btn.get_text()) #获取元素内文字
print(mission.btn.attr('text')) #同上
print(mission.btn.exists()) #返回True或False,该元素是否在屏幕上显示
操作UI对象
点击(click)
点击默认点在anchorPoint上,click()
可以传入一个参数[x,y]
,表示相对左上角的偏移量,左上角为[0,0]
,右下角为[1,1]
。
poco('bg_mission').click()
poco('bg_mission').click('center')
poco('bg_mission').click([0.5, 0.5]) #同上
滑动(swipe)
同样以anchorPoint为起点,然后朝给定向量方向滑动。
joystick = poco('movetouch_panel').child('point_img')
joystick.swipe('up')
joystick.swipe([0.2,-0.2]) #向右上角45度方向滑动
joystick.swipe([0.2,-0.2], duration=0.5)
拖拽(drag)
drag_to()
将一个UI拖到另一个UI。
poco(text='突破芯片').drag_to(poco(text='岩石司康饼'))
focus()
和drag_to()
结合使用可产生卷动效果。
scrollView = poco(type='ScrollView')
scrollView.focus([0.5, 0.8]).drag_to(scrollView.focus([0.5, 0.2]))
等待出现(wait)
在给定时间内等待一个UI出现并返回这个UI,如果已经存在则直接返回这个UI。
poco('bg_mission').wait(5).click() #最多等待5秒钟后点击该UI
poco('bg_mission').wait(5).exists() #最多等待5秒钟后返回值UI是否存在
网友评论