【问题标题】:GUI automation with pywinauto. Double clicking item in a list with no name使用 pywinauto 实现 GUI 自动化。双击列表中没有名称的项目
【发布时间】:2017-10-27 11:41:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: python user-interface automation pywinauto


    【解决方案1】:

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

    是的,双击几乎是对的。这应该是这样的:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-03
      • 2013-10-17
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      • 2016-09-24
      相关资源
      最近更新 更多