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

时间:2014-11-25 12:50:36

标签: button click toolbar pywinauto

我对pywinauto很新,我已经爱过了。但我有一个问题:

我想用pywinauto自动化一个旧的软件程序,并且可以控制大多数按钮。但点击时有一个按钮,有一个带图标的菜单(不是菜单的窗口样式,而是自定义菜单)。按钮的名称是" 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()

我不知道该软件的语言是什么......

提前致谢, 佛瑞德

1 个答案:

答案 0 :(得分:0)

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