controls.menuwrapper 控件模块
- controls.menuwrapper.Menu
- exception controls.menuwrapper.MenuInaccessible
- controls.menuwrapper.MenuInfo
- controls.menuwrapper.MenuItem
- menuwrapper.MenuItem.click
- menuwrapper.MenuItem.click_input
- menuwrapper.MenuItem.friendlyclassname
- menuwrapper.MenuItem.get_properties
- menuwrapper.MenuItem.index
- menuwrapper.MenuItem.is_checked
- menuwrapper.MenuItem.is_enabled
- menuwrapper.MenuItem.item_id
- menuwrapper.MenuItem.item_type
- menuwrapper.MenuItem.rectangle
- menuwrapper.MenuItem.select
- menuwrapper.MenuItem.state
- menuwrapper.MenuItem.sub_menu
- menuwrapper.MenuItem.text
- controls.menuwrapper.MenuItemInfo
- exception menuwrapper.MenuItemNotEnabled
围绕菜单和菜单项的包装器
这些包装器允许您轻松处理菜单项。您可以选择或单击项目并检查它们是选中还是未选中。
controls.menuwrapper.Menu
class pywinauto.controls.menuwrapper.Menu(owner_ctrl, menuhandle, is_main_menu=True, owner_item=None)
Bases: object
围绕菜单把手的简单包装
菜单支持查询菜单并获取其菜单项的方法。
menuwrapper.Menu.get_menu_path
pywinauto.controls.menuwrapper.Menu.get_menu_path(path, path_items=None, appdata=None, exact=False)
遍历此菜单中的项目以查找路径指定的项目
路径由以“->”分隔的项目列表指定。每个项目可以是字符串(可以包含空格),例如“另存为”,也可以是要返回的项目的从零开始的索引,以 # 开头,例如 #1,或者以 $ 说明符开头的项目的 ID。
这些可以根据需要混合使用。例如:
#0 -Save As
#0 -另存为
$23453 -Save As
$23453 -另存为
Tools -#0 -Configure
工具 -#0 -配置
文本匹配是使用“最佳匹配”模糊算法完成的,因此您不必添加所有标点符号、省略号等。 针对 MENUITEMINFO 结构的 wID 字段执行 ID 匹配 (https://msdn.microsoft.com/en-us/library/windows/desktop/ms647578(v=vs.85).aspx)
menuwrapper.Menu.get_properties
pywinauto.controls.menuwrapper.Menu.get_properties()
将菜单的属性作为字典列表返回
这种方法实际上是递归的。它为每个项目调用 get_properties()
。如果项目具有子菜单,它将调用此 get_properties 以获取子菜单项。
menuwrapper.Menu.item
pywinauto.controls.menuwrapper.Menu.item(index, exact=False)
返回特定菜单项
index
是从 0 开始的索引或所需菜单项的文本。exact=True
表示项目文本的精确匹配
False
表示最佳匹配。
menuwrapper.Menu.item_count
pywinauto.controls.menuwrapper.Menu.item_count()
返回此菜单中的项目计数
menuwrapper.Menu.items
pywinauto.controls.menuwrapper.Menu.items()
返回此菜单中所有项目的列表
exception controls.menuwrapper.MenuInaccessible
pywinauto.controls.menuwrapper.MenuInaccessible
Bases: RuntimeError
当菜单具有句柄但无法访问时引发。
controls.menuwrapper.MenuInfo
class pywinauto.controls.menuwrapper.MenuInfo
Bases: object
菜单信息的支架
controls.menuwrapper.MenuItem
class pywinauto.controls.menuwrapper.MenuItem(ctrl, menu, index, on_main_menu=False)
Bases: object
包装菜单项
menuwrapper.MenuItem.click
pywinauto.controls.menuwrapper.MenuItem.click()
选择菜单项
这将向父窗口发送一条消息,告知已选择该项目。
menuwrapper.MenuItem.click_input
pywinauto.controls.menuwrapper.MenuItem.click_input()
以更逼真的方式单击菜单项
如果菜单处于打开状态,它将单击该项目上的鼠标事件。如果菜单未打开,则其父菜单中的每个菜单都将打开,直到项目可见。
menuwrapper.MenuItem.friendlyclassname
pywinauto.controls.menuwrapper.MenuItem.friendlyclassname()
返回友好类名
menuwrapper.MenuItem.get_properties
pywinauto.controls.menuwrapper.MenuItem.get_properties()
将项的属性作为字典返回
如果此项目打开子菜单,则调用 Menu.get_properties()
以返回子菜单中的项目列表。这在“menu_items”键下可用。
menuwrapper.MenuItem.index
pywinauto.controls.menuwrapper.MenuItem.index()
返回此菜单项的索引
menuwrapper.MenuItem.is_checked
pywinauto.controls.menuwrapper.MenuItem.is_checked()
如果选中了该项目,则返回 True。
menuwrapper.MenuItem.is_enabled
pywinauto.controls.menuwrapper.MenuItem.is_enabled()
如果启用了该项,则返回 True。
menuwrapper.MenuItem.item_id
pywinauto.controls.menuwrapper.MenuItem.item_id()
返回此菜单项的 ID
menuwrapper.MenuItem.item_type
pywinauto.controls.menuwrapper.MenuItem.item_type()
返回此菜单项的类型
主要类型有 MF_STRING、MF_BITMAP MF_SEPARATOR 。
有关详细信息,请参阅 https://msdn.microsoft.com/en-us/library/windows/desktop/ms647980.aspx 。
menuwrapper.MenuItem.rectangle
pywinauto.controls.menuwrapper.MenuItem.rectangle()
获取菜单项的矩形
menuwrapper.MenuItem.select
pywinauto.controls.menuwrapper.MenuItem.select()
选择菜单项
这将向父窗口发送一条消息,告知已选择该项目。
menuwrapper.MenuItem.state
pywinauto.controls.menuwrapper.MenuItem.state()
返回此菜单项的状态
menuwrapper.MenuItem.sub_menu
pywinauto.controls.menuwrapper.MenuItem.sub_menu()
返回 SubMenu 或 None(如果没有子菜单)返回
menuwrapper.MenuItem.text
pywinauto.controls.menuwrapper.MenuItem.text()
返回此菜单项的文本
controls.menuwrapper.MenuItemInfo
class pywinauto.controls.menuwrapper.MenuItemInfo
Bases: object
菜单项信息的支架
exception menuwrapper.MenuItemNotEnabled
pywinauto.controls.menuwrapper.MenuItemNotEnabled
Bases: RuntimeError
未启用菜单项时引发
menuwrapper.ensure_accessible
pywinauto.controls.menuwrapper.ensure_accessible(method)
Decorator for Menu 实例方法