0

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

我想用 pywinauto 自动化一个旧的软件程序,并且可以控制大部分按钮。但是当点击某个按钮时,会出现一个带有图标的菜单(不是windows风格的菜单,而是自定义菜单)。该按钮的名称是“Toolbar2”,所以我猜它不是一个普通的按钮。使用此代码,我可以单击我想要的按钮。当我使用“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()

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

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

window.Click()

不知道这个软件是用什么语言写的...

在此先感谢,弗雷德

4

1 回答 1

0

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

于 2014-11-25T17:43:29.787 回答