使用 pywinauto 控制按钮后面的隐藏菜单



我对pywinauto很陌生,我已经喜欢它了。但我有一个问题:

我想用pywinauto自动化一个旧的软件程序,并且可以控制大部分按钮。但是点击时有一个特定的按钮,有一个带有图标的菜单(不是菜单的窗口样式,而是自定义菜单)。该按钮的名称是"工具栏2",所以我想它不是一个普通的按钮。使用此代码,我可以单击所需的按钮。当我使用"ctrl.Click(),按钮没有被点击,我需要使用 ClickInput()。使用普通按钮,我可以使用 Click()。

w_handle = pywinauto.findwindows.find_windows(title=u'P2-NLTlog013', class_name='TfrmDisplayFilteredData')[0]    
window = pwa_app.window_(handle=w_handle)
window.Click()
ctrl = window['ToolBar2']
ctrl.ClickInput()

我现在的问题是:如何获取隐藏菜单项的名称并单击它们。我已经使用了这段代码,但是他给出了一个"匹配错误"。

window = pwa_app.Window_(best_match='ToolBar2', top_level_only=True).ChildWindow(best_match='PopupMenu').Click() 

窗。点击()

我不知道软件是用什么语言编写的...

提前感谢,佛瑞德

您可以通过window.Menu()获取菜单对象,然后尝试通过menu.Items()访问子项有用的方法: menu_item.Index()menu_item.SubMenu()

最新更新