代码之家  ›  专栏  ›  技术社区  ›  shafuq

无法通过pywinauto访问菜单栏项

  •  1
  • shafuq  · 技术社区  · 6 年前

    我正在通过Python自动化以下程序:( 冲浪者 )

    http://www.goldensoftware.com/products/surfer

    有些部分我无法控制 (程序库不支持它)。我需要工作的部分可以通过使用程序菜单栏来完成。我只需要点击5下就可以完成。所以我一直在尝试使用 皮温汽车 https://github.com/pywinauto/SWAPY )但是MenuItems字段显示为空(作为空列表[])。

    下面是一些测试代码:

    from pywinauto.application import Application
    
    app = Application(backend="uia").connect(process=2984)  # tried "win32" as backend also
    
    srf = app.window(process=2984)
    
    srf.menu_select("Help")
    

    我得到了一个错误:

    "RuntimeError: There is no menu."
    

    我尝试访问的菜单位于:

    • 编辑
    • 安排
    • 地质处理

    任何帮助都将不胜感激。

    1 回复  |  直到 6 年前
        1
  •  1
  •   shafuq    6 年前

    我终于可以通过pywinauto控制菜单:

    app_dialog.child_window(title="Menu Bar").set_focus()
    

    从这里开始有一个用SendKeys()模块控制键盘的问题。