使用pywinauto进行GUI自动化。双击列表中没有名称的项目

时间:2017-10-27 11:41:45

标签: python user-interface automation pywinauto

我正在尝试使用pywinauto在python中自动化自制GUI。 我正在使用app = Application().start(...)启动应用程序,并使用dlg = app.top_window_()获取窗口。

在下一步中,我想双击列表中的项目。但是我不知道怎么做。 我试图使用Inspect.exe。通过单击“导航到子项”,我得到没有名称的列表。再次单击“导航到子项”会显示我要单击的项目的名称。

那么,我该如何参考这个项目? 我想过dlg.itemname.double_click(button='left')之类的东西?我只能找到他们按菜单条目的例子。

1 个答案:

答案 0 :(得分:0)

根据您的描述,我可以假设您使用Application(backend="uia")(或必须使用),因为Inspect.exe使用了自动化技术,该技术由pyuinauto中的UIA后端支持。

是的,你几乎可以双击。这应该是这样的:

dlg.itemname.double_click_input(button='left')
# or
dlg.itemname.click_input(button='left', double=True)

我怎么知道?将项目检测为单独的控件是UIA后端的典型选择。

对于默认的Win32后端(您可以在Spy ++工具中看到的内容),列表视图或列表框始终只有包装方法可以访问的虚拟项目,而不是单独的控件。