如何使用pywinauto选择ListBox中的指定ListItem?
如何选择ListBox中的特定ListItem
问题背景
控件树结构
| | GroupBox - 'HPF' (L775, T613, R882, B893) | | ['HPF', 'HPFGroupBox', 'GroupBox2', 'HPF0', 'HPF1'] | | child_window(title="HPF", control_type="Group") | | | | | | ListBox - '' (L775, T613, R882, B893) | | | ['ListBox'] | | | | | | | | ListItem - 'HPF' (L775, T621, R882, B659) | | | | ['HPF2', 'ListItem', 'HPFListItem', 'ListItem0', 'ListItem1'] | | | | child_window(title="HPF", control_type="ListItem") | | | | | | | | ListItem - 'LPF' (L775, T658, R882, B697) | | | | ['LPF', 'ListItem2', 'LPFListItem'] | | | | child_window(title="LPF", control_type="ListItem") | | | | | | | | ListItem - 'Peak/Dip' (L775, T696, R882, B734) | | | | ['Peak/DipListItem', 'Peak/Dip', 'ListItem3'] | | | | child_window(title="Peak/Dip", control_type="ListItem") | | | | | | | | ListItem - 'Notch' (L775, T733, R882, B772) | | | | ['NotchListItem', 'ListItem4', 'Notch'] | | | | child_window(title="Notch", control_type="ListItem") | | | | | | | | ListItem - 'HighShelf' (L775, T771, R882, B809) | | | | ['HighShelf', 'HighShelfListItem', 'ListItem5'] | | | | child_window(title="HighShelf", control_type="ListItem")
已执行代码及输出
已通过以下代码获取ListBox的所有ListItem文本:
app = dlg.ListBox.texts() print(app)
输出结果:
[['HPF'], ['LPF'], ['Peak/Dip'], ['Notch'], ['HighShelf'], ['LowShelf'], ['AllPass']]
需求:实现选择ListBox中某一特定ListItem的操作。
解决方案
以下是几种可行的实现方式:
1. 通过文本直接选择
利用ListBox的select()方法,直接传入目标ListItem的文本即可:
# 选择文本为'LPF'的选项 dlg.ListBox.select('LPF') # 选择带特殊字符的选项,比如'Peak/Dip' dlg.ListBox.select('Peak/Dip')
2. 通过索引选择
根据输出的文本列表,每个选项对应一个从0开始的索引,可以通过索引定位选择:
# 选择索引为4的'HighShelf' dlg.ListBox.select(4) # 选择索引为6的'AllPass' dlg.ListBox.select(6)
3. 直接定位ListItem控件操作
如果上述方法不生效,可以通过控件树的层级定位到目标ListItem,调用click()或select()方法:
# 定位并选择'Notch'选项 dlg.child_window(title="HPF", control_type="Group").child_window(title="Notch", control_type="ListItem").click() # 或者使用select方法(部分控件支持) dlg.child_window(title="HPF", control_type="Group").child_window(title="Notch", control_type="ListItem").select()
内容的提问来源于stack exchange,提问作者Parth_Soni
相关产品推荐
相关产品推荐

