【MAC终端UI自动化】使用atomac对下拉框PopUp Button中元素操作

目标:
选择下拉框中的“Updates Received”在这里插入图片描述
首先踩坑

识别到这个PopUp Button之后,Accessibil Inspector 显示Children:Empty array
下面没有其他元素了
在这里插入图片描述
之后使用_menuItem 等各种方法,都有各种报错
猜测,下拉框展开后,可能会多一些元素出来,但是下拉框展开后,再切换到Accessibil Inspector ,下拉框就自动收起了。
所以Accessibil Inspector 识别不到下拉框中的元素

解决步骤:

  1. 用getAttributes()获取元素上可用属性的列表,打印出来有这些属性
['AXEnabled', 'AXFrame', 'AXParent', 'AXSize', 'AXFocused', 'AXChildren', 'AXRole', 'AXTopLevelUIElement', 'AXHelp', 'AXPosition', 'AXValue', 'AXWindow', 'AXRoleDescription', 'AXIdentifier']
  1. pop.AXChildren 打印出Children:[<atomac.AXClasses.NativeUIElement AXMenu 'menu'>]

  2. 知道下面有个menu就好办了。获取AXChildren下面的AXChildren,得到所有的菜单项。然后就可以对菜单做操作了

代码:

window = automater.windows()[0]
a= window.groupsR()[0]   
#定位到下拉框的按钮
pop = a.findFirstR(AXRole='AXPopUpButton')  
#展示下拉框按钮的菜单,也可以用pop.Press()
pop.ShowMenu()
#获取元素上可用属性的列表
print(pop.getAttributes())
#获取元素的Children
c=pop.AXChildren
#获取菜单项,并对其中一个菜单做点击操作
print(c[0].AXChildren)
c[0].AXChildren[3].Press()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值