我为名为“Team Developer”的应用程序自动化测试,该应用程序属于 Gupta Technology。它有一个菜单栏而不是菜单。我无法通过 MenuSelect() 选择菜单,它显示“raise RuntimeError("There is no menu.")”错误。
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 代码,但没有有用的结果。
最佳答案
现在可以将菜单栏重新解释为工具栏。但是按钮文本不可用(稍后可以使用混合 native /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')
请为您的应用尝试此解决方法,如果可行请告诉我们。
关于python - pywinauto: MenuSelect() 在某些应用程序中不能用于选择 "MenuBar"。该库中适合使用的功能是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33113913/