pywinauto: MenuSelect() 在某些应用程序中不能用于 select "MenuBar"。该库中适合使用的功能是什么?

pywinauto: MenuSelect() Cannot be used to select "MenuBar" in some applications. What is a suitable function from this library to use?

我为名为 "Team Developer" 的应用程序自动化测试,属于 Gupta Technology。它有一个菜单栏而不是菜单。我无法通过 MenuSelect() select 菜单,它显示 "raise RuntimeError(" 没有菜单。")" 错误。

import pywinauto
import time

from pywinauto.application import Application
app = Application.start('C:\Program Files (x86)\Gupta\Team Developer.exe')
pywinauto.application.Application()
time.sleep(2)
MenuItms = app.window_(title_re = "Gupta*").MenuSelect("File->Exit")

如何 select 菜单栏中的项目? 我也使用 "Swapy" 为 pywinauto 获取正确的 python 代码,但没有有用的结果。

菜单栏现在可以重新解释为工具栏。但是按钮文本不可用(稍后可以使用混合 native/UIA 方法来完成)。你可以试试 latest branch of pywinauto (运行 python setup.py install).

这是一个带有 RebarTest.exe 示例应用程序的示例(运行来自存储库根文件夹):

import pywinauto

app = pywinauto.Application().start_(r'.\apps\MFC_samples\x64\RebarTest.exe')
app.RebarTest.MenuBar.MenuBarClickInput('#1->#0->#0', app) # View->Toolbars->Customize
app.Customize.CloseButton.Click()
app.Customize.WaitNot('visible')

app.RebarTest.MenuBar.MenuBarClickInput([2, 0], app)
app.Window_(title='About RebarTest').OK.Click()
app.Window_(title='About RebarTest').WaitNot('visible')

请为您的应用尝试此解决方法,如果可行请告诉我们。