pywinauto:MenuSelect()不能用于在某些应用程序中选择“MenuBar”。这个库中的哪个函数适合使用?

2023-03-30 18:17:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我为属于Gupta技术的名为“teamdeveloper”的应用程序自动化测试。它有菜单栏而不是菜单。我无法通过MenuSelect()选择菜单,它显示“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")

如何从菜单栏中选择项目? 我还使用“Swapy”为pywinauto获取正确的python代码,但没有得到有用的结果。在


Tags: importapp应用程序timeapplication菜单技术raise
1条回答
网友
1楼 · 发布于 2023-03-30 18:17:52

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

以下是RebarTest.exe示例应用程序(从repo根文件夹运行)的示例:

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')

请尝试为您的应用程序使用此解决方案,并让我们知道它是否有效。在

相关问题 更多 >