合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# pywinauto.controls.menuwrapper 菜单和菜单项周围的包装 这些包装器使您可以轻松使用菜单项。 您可以选择或单击项目并检查它们是否已选中或未选中。 >[success] *class* `pywinauto.controls.menuwrapper.Menu(owner_ctrl, menuhandle, is_main_menu=True, owner_item=None)` Bases: `object` 围绕菜单句柄的简单包装 菜单支持查询菜单和获取菜单项的方法。 > `get_menu_path`(*path*, *path\_items=None*, *appdata=None*, *exact=False*) 遍历此菜单中的项目以查找路径指定的项目 路径由分隔的项目列表指定 ‘->’. 每个项目可以是一个字符串(可以包括空格),例如 “另存为”或项目的从零开始的索引返回前缀为#例如 #1或由$说明符开头的项目的ID。 这些可以根据需要混合使用。 例如: * “#0 -> Save As”, * “$23453 -> Save As”, * “Tools -> #0 -> Configure” 使用“最佳匹配”模糊算法完成文本匹配,因此您不必添加所有标点符号,省略号等。对于MENUITEMINFO结构的wID字段执行ID匹配([https://msdn.microsoft.com/en-us/library/windows/desktop/ms647578(v=vs.85).aspx](https://msdn.microsoft.com/en-us/library/windows/desktop/ms647578(v=vs.85).aspx)) > `get_properties`() 将菜单的属性作为字典列表返回 这种方法实际上是递归的。 它为每个项调用get_properties()。 如果项目有子菜单,它将调用此get_properties来获取子菜单项。 > `item`(*index*, *exact=False*) 返回特定的菜单项 * **index** 是您想要的菜单项的基于0的索引或文本。 * **exact** 为True表示项目文本的精确匹配,False意味着最佳匹配。 > `item_count`() 返回此菜单中的项目数 > `items`() 返回此菜单中所有项目的列表 >[success] *exception* `pywinauto.controls.menuwrapper.``MenuInaccessible` Bases: `RuntimeError` 当菜单处理但无法访问时引发。 >[success] *class* `pywinauto.controls.menuwrapper.``MenuInfo` Bases: `object` 菜单信息的持有者 >[success] *class* `pywinauto.controls.menuwrapper.``MenuItem`(*ctrl*, *menu*, *index*, *on\_main\_menu=False*) Bases: `object` 菜单项包装 > `click`() 选择菜单项 这将向父窗口发送一条消息,表明该项目已被选中。 > `click_input`() 以更逼真的方式单击菜单项 如果菜单处于打开状态,则会在项目上单击鼠标事件。 如果菜单未打开,则每个菜单的父级都将打开,直到该项目可见。 > `friendly_class_name`() 返回友好的类名 > `get_properties`() 将项目的属性作为dict返回 如果此项打开子菜单,则调用Menu.get_properties()以返回子菜单中的项列表。 这可以在'menu_items'键下找到。 > `index`() 返回此菜单项的索引 > `is_checked`() 如果选中该项,则返回True。 > `is_enabled`() 如果项目已启用,则返回True。 > `item_id`() 返回此菜单项的ID > `item_type`() Return the Type of this menu item Main types are MF\_STRING, MF\_BITMAP, MF\_SEPARATOR. >[info] See [https://msdn.microsoft.com/en-us/library/windows/desktop/ms647980.aspx](https://msdn.microsoft.com/en-us/library/windows/desktop/ms647980.aspx) for further information. > `rectangle`() 获取菜单项的矩形 > `select`() 选择菜单项 这将向父窗口发送一条消息,表明该项目已被选中。 > `state`() Return the state of this menu item > `sub_menu`() Return the SubMenu or None if no submenu > `text`() Return the text of this menu item >[success] *class* `pywinauto.controls.menuwrapper.``MenuItemInfo` Bases: `object` 菜单项信息的持有者 >[success] *exception* `pywinauto.controls.menuwrapper.``MenuItemNotEnabled` Bases: `RuntimeError` 未启用菜单项时引发 >[success] `pywinauto.controls.menuwrapper.``ensure_accessible`(*method*) 用于Menu实例方法的Decorator