我用pywinauto 库做PC端的自动化的时候,使用ListItemWrapper的select(),selected_item_index()都会报错
import time
from pywinauto.application import Application
app = Application(backend='uia').connect(path=r'D:\DingDing\main\current_new\DingTalk.exe')
time.sleep(3)
mainDialog=app.window(title="钉钉")
m=mainDialog.child_window(title="国家/地区代码", control_type="Button")
m.click_input() #展开区域选择下拉框
time.sleep(3)
mainDialog.print_control_identifiers()
#ListItems
list2=mainDialog.child_window(title="country_list", control_type="List")
print(list2.items())
print(list2.get_item(5).texts())
print(dir(list2.wrapper_object()))
list2.select(5) #报错
mainDialog.ListBox.select(5) #报错
页面结构
| | ListBox - 'country_list' (L163, T633, R448, B984)
| | ['ListBox', 'country_list', 'country_listListBox']
| | child_window(title="country_list", control_type="List")
| | |
| | | ListItem - '热门' (L163, T633, R448, B984)
| | | ['ListItem', '热门ListItem', '热门', 'ListItem0', 'ListItem1']
| | | child_window(title="热门", control_type="ListItem")
| | |
| | | ListItem - '中国+86' (L163, T633, R448, B984)
| | | ['ListItem2', '中国+86', '中国+86ListItem', '中国+860', '中国+861', '中国+86ListItem0', '中国+86ListItem1']
| | | child_window(title="中国+86", control_type="ListItem")
| | |
| | | ListItem - '中国香港+852' (L163, T633, R448, B984)
| | | ['ListItem3', '中国香港+852', '中国香港+852ListItem', '中国香港+8520', '中国香港+8521', '中国香港+852ListItem0', '中国香港+852ListItem1']
| | | child_window(title="中国香港+852", control_type="ListItem")
| | |
| | | ListItem - '印度+91' (L163, T633, R448, B984)
| | | ['ListItem4', '印度+91ListItem', '印度+91', '印度+91ListItem0', '印度+91ListItem1', '印度+910', '印度+911']
| | | child_window(title="印度+91", control_type="ListItem")
**从报错截图上看,是默认调用了第一个select(),但是似乎我是需要调用倒数第二个select(),若是这个原因的话,该怎么弄呢
**