我正在通过Python自动执行以下程序:( Surfer )
http://www.goldensoftware.com/products/surfer
我无法使用 win32com.client 控制它的某些部分(程序库不支持它)。我需要开始工作的部分可以通过使用程序菜单栏来完成。我只需要完成5次点击即可。因此,作为替代方案,我一直尝试使用 pywinauto (我第一次尝试使用它)。但是这次我无法获得菜单栏项。我尝试通过swapy(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."
我要访问的菜单位于:
任何帮助将不胜感激。
答案 0 :(得分:1)
我终于能够通过pywinauto来控制菜单:
app_dialog.child_window(title="Menu Bar").set_focus()
从那里开始,需要使用SendKeys()模块控制键盘。
这是一种解决方法,但可以完成工作。