base_wrapper 控件模块
- pywinauto.base_wrapper.BaseMeta
- base_wrapper.BaseWrapper
- BaseWrapper.capture_as_image
- BaseWrapper.children
- BaseWrapper.class_name
- BaseWrapper.click_input
- BaseWrapper.client_to_screen
- BaseWrapper.control_count
- BaseWrapper.control_id
- BaseWrapper.descendants
- BaseWrapper.double_click_input
- BaseWrapper.drag_mouse_input
- BaseWrapper.draw_outline
- BaseWrapper.element_info
- BaseWrapper.friendly_class_name
- BaseWrapper.from_point
- BaseWrapper.get_properties
- BaseWrapper.is_child
- BaseWrapper.is_dialog
- BaseWrapper.is_enabled
- BaseWrapper.is_visible
- BaseWrapper.iter_children
- BaseWrapper.iter_descendants
- BaseWrapper.move_mouse_input
- BaseWrapper.parent
- BaseWrapper.press_mouse_input
- BaseWrapper.process_id
- BaseWrapper.rectangle
- BaseWrapper.release_mouse_input
- BaseWrapper.right_click_input
- BaseWrapper.root
- BaseWrapper.set_focus
- BaseWrapper.texts
- BaseWrapper.top_from_point
- BaseWrapper.top_level_parent
- BaseWrapper.type_keys
- BaseWrapper.verify_actionable
- BaseWrapper.verify_enabled
- BaseWrapper.verify_visible
- BaseWrapper.wait_for_idle
- BaseWrapper.was_maximized
- BaseWrapper.wheel_mouse_input
- BaseWrapper.window_text
- BaseWrapper.writable_props
- exception base_wrapper.ElementNotEnabled
- exception base_wrapper.ElementNotVisible
- base_wrapper.InvalidElement
- base_wrapper.remove_non_alphanumeric_symbols
所有后端中所有包装器的基类
pywinauto.base_wrapper.BaseMeta
class pywinauto.base_wrapper.BaseMeta
- Wrapper 对象的抽象元类
base_wrapper.BaseMeta.find_wrapper
static pywinauto.base_wrapper.BaseMeta.find_wrapper(element)
- 抽象静态方法找到合适的包装器
base_wrapper.BaseWrapper
class pywinauto.base_wrapper.BaseWrapper(element_info, active_backend)
- 元素的抽象包装器。
所有其他包装器都派生自此。
BaseWrapper.capture_as_image
pywinauto.base_wrapper.BaseWrapper.capture_as_image(rect=None)
- 返回控件的 PIL 映像。
请参阅 PIL 文档,了解您可以对生成的图像执行哪些操作。
BaseWrapper.children
pywinauto.base_wrapper.BaseWrapper.children(**kwargs)
- 以列表形式返回此元素的子元素
它返回 BaseWrapper(或子类)实例的列表。如果没有子项,则返回空列表。
BaseWrapper.class_name
pywinauto.base_wrapper.BaseWrapper.class_name()
- 返回 elenemt 的类名
BaseWrapper.click_input
pywinauto.base_wrapper.BaseWrapper.click_input(button='left', coords=(None, None), button_down=True, button_up=True, double=False, wheel_dist=0, use_log=True, pressed='', absolute=False, key_down=True, key_up=True)
单击指定的坐标
参数 | 默认值 | 说明 |
---|---|---|
button | left | 要单击的鼠标按钮。‘left’, ‘right’, ‘middle’ or ‘x’ 之一 (‘move’ 是特例) |
coords | 控件的中心 | 要单击的坐标 |
double | False | 是否执行双击 |
wheel_dist | 0 | 移动鼠标滚轮的距离 |
笔记:
- 这与单击方法不同,因为它要求控件在屏幕上可见,但执行更逼真的“单击”模拟。
- 如果鼠标由用户移动,则此方法也容易受到攻击,因为在click_input完成之前,鼠标很容易从控件中移出。
BaseWrapper.client_to_screen
pywinauto.base_wrapper.BaseWrapper.client_to_screen(client_point)
- 将点从客户端映射到屏幕坐标
BaseWrapper.control_count
pywinauto.base_wrapper.BaseWrapper.control_count()
- 返回此控件的子控件的子项数
BaseWrapper.control_id
pywinauto.base_wrapper.BaseWrapper.control_id()
- 返回元素的 ID
只有控件具有有效的 ID - 对话框通常没有分配 ID。
ID 通常标识窗口中的控件 - 但可能存在重复的 ID,例如,对话框中的标签可能具有重复的 ID。
BaseWrapper.descendants
pywinauto.base_wrapper.BaseWrapper.descendants(**kwargs)
- 以列表形式返回此元素的后代
它返回 BaseWrapper(或子类)实例的列表。如果没有后代,则返回空列表。
BaseWrapper.double_click_input
pywinauto.base_wrapper.BaseWrapper.double_click_input(button='left', coords=(None, None))
- 双击指定坐标
BaseWrapper.drag_mouse_input
pywinauto.base_wrapper.BaseWrapper.drag_mouse_input(dst=(0, 0), src=None, button='left', pressed='', absolute=True)
- 单击 src,拖放到 dst 上
参数 | 默认值 | 说明 |
---|---|---|
DST | (0, 0) | 目标包装器对象或只是坐标 |
src | None | 源包装器对象或坐标。如果 src 为 None,则 self 用作源对象 |
button | left | 在拖动过程中按住的鼠标按钮。它可以是“左”、“右”、“中”或“x” |
pressed | '' | 在拖动过程中按下的键盘上的一个键 |
absolute | True | 是否对鼠标指针位置使用绝对坐标 |
BaseWrapper.draw_outline
pywinauto.base_wrapper.BaseWrapper.draw_outline(colour='green', thickness=2, fill=<MagicMock name='mock.win32defines.BS_NULL' id='140124673757368'>, rect=None)
- 在窗口周围画一个轮廓。
参数 | 默认值 | 说明 |
---|---|---|
colour | green | 可以是整数,也可以是“红色”、“绿色”、“蓝色”(默认为“绿色”)之一 |
thickness | 2 | 矩形的厚度厚度 |
fill | BS_NULL | 填写 如何填充矩形 |
rect | 控件的矩形 | 要绘制的矩形的坐标 |
BaseWrapper.element_info
pywinauto.base_wrapper.BaseWrapper.element_info
- 用于获取 ElementInfo 对象的只读属性
BaseWrapper.friendly_class_name
pywinauto.base_wrapper.BaseWrapper.friendly_class_name()
- 返回控件的友好类名
在某些情况下,这与控件的类不同。class_name()
是控件的实际“注册”元素类,而 friendly_class_name()
希望对用户更有意义。
例如,复选框是作为 Button 实现的 - 因此 CheckBox 的类是 “Button” - 但友好的类是 “CheckBox”
BaseWrapper.from_point
pywinauto.base_wrapper.BaseWrapper.from_point(x, y)
- 获取指定屏幕坐标 (x, y) 处元素的包装对象
BaseWrapper.get_properties
pywinauto.base_wrapper.BaseWrapper.get_properties()
- 以字典形式返回控件的属性。
BaseWrapper.is_child
pywinauto.base_wrapper.BaseWrapper.is_child(parent)
- 如果此元素是“parent”的子元素,则返回 True。
当一个元素是另一个元素的直接元素时,它是另一个元素的子元素。如果父元素是子元素的父元素链,则元素是给定元素的直接后代。
BaseWrapper.is_dialog
pywinauto.base_wrapper.BaseWrapper.is_dialog()
- 如果控件是顶级窗口,则返回 True
BaseWrapper.is_enabled
pywinauto.base_wrapper.BaseWrapper.is_enabled()
- 元素是否启用
检查是否同时启用了拥有此元素的顶级父元素(可能是对话框)和元素本身。
如果要等待某个元素启用(或等待它被禁用),请使用 Application.wait('visible')
或 Application.wait_not('visible')
。
如果要在未启用元素时立即引发异常,则可以使用 BaseWrapper.verify_enabled()
。如果窗口既不可见又不启用,则 BaseWrapper.VerifyReady()
将引发。
BaseWrapper.is_visible
pywinauto.base_wrapper.BaseWrapper.is_visible()
元素是否可见
检查拥有此元素的顶级父元素(可能是对话框)和元素本身是否都可见。
如果要等待元素变为可见(或等待它变为隐藏),请使用
Application.wait('visible')
或Application.wait_not('visible')
。如果要在元素不可见时立即引发异常,则可以使用 BaseWrapper.verify_visible()。如果元素既不可见又未启用,则 BaseWrapper.verify_actionable() 将引发。
BaseWrapper.iter_children
pywinauto.base_wrapper.BaseWrapper.iter_children(**kwargs)
循环访问此元素的子元素
它返回 BaseWrapper(或子类)实例的生成器。
BaseWrapper.iter_descendants
pywinauto.base_wrapper.BaseWrapper.iter_descendants(**kwargs)
遍历此元素的后代
它返回 BaseWrapper(或子类)实例的生成器。
BaseWrapper.move_mouse_input
pywinauto.base_wrapper.BaseWrapper.move_mouse_input(coords=(0, 0), pressed='', absolute=True)
移动鼠标
BaseWrapper.parent
pywinauto.base_wrapper.BaseWrapper.parent()
返回此元素的父元素
请注意,控件的父项不一定是对话框或其他主窗口。例如,组框可能是某些单选按钮的父级。
要获取主(或顶层)窗口,请使用
BaseWrapper.top_level_parent()
。
BaseWrapper.press_mouse_input
pywinauto.base_wrapper.BaseWrapper.press_mouse_input(button='left', coords=(None, None), pressed='', absolute=True, key_down=True, key_up=True)
- 使用 SendInput 按鼠标按钮
BaseWrapper.process_id
pywinauto.base_wrapper.BaseWrapper.process_id()
- 返回拥有此窗口的进程的 ID
BaseWrapper.rectangle
pywinauto.base_wrapper.BaseWrapper.rectangle()
- 返回元素的矩形
rectangle()
是屏幕上元素的矩形。坐标从屏幕的左上角给出。
此方法返回一个 RECT 结构,该结构具有 - top、left、right、bottom 属性。并具有 width()
和 height()
方法。请参阅 win32structures.RECT 了解更多信息。
BaseWrapper.release_mouse_input
pywinauto.base_wrapper.BaseWrapper.release_mouse_input(button='left', coords=(None, None), pressed='', absolute=True, key_down=True, key_up=True)
- 松开鼠标按钮
BaseWrapper.right_click_input
pywinauto.base_wrapper.BaseWrapper.right_click_input(coords=(None, None))
- 右键单击指定的坐标
BaseWrapper.root
pywinauto.base_wrapper.BaseWrapper.root()
- 根元素的返回包装器(桌面)
BaseWrapper.set_focus
pywinauto.base_wrapper.BaseWrapper.set_focus()
- 将焦点设置为此元素
BaseWrapper.texts
pywinauto.base_wrapper.BaseWrapper.texts()
- 返回此控件的每个项的文本
它是控件的字符串列表。它经常被重写,以从具有多个项的控件中提取所有字符串。
它始终是包含一个或多个字符串的列表:
- 第一个元素是控件的窗口文本
- 后续元素包含控件的任何项的文本(例如,列表框/组合框中的项、tabcontrol 中的选项卡)
BaseWrapper.top_from_point
pywinauto.base_wrapper.BaseWrapper.top_from_point(x, y)
- 获取指定屏幕坐标 (x, y) 处顶级元素的包装对象
BaseWrapper.top_level_parent
pywinauto.base_wrapper.BaseWrapper.top_level_parent()
- 返回此控件的顶级窗口
TopLevel 父级与父级的不同之处在于,父级是拥有此元素的元素 - 但它可能不是对话框/主窗口。例如,大多数组合框都有一个编辑。ComboBox 是 Edit 控件的父级。
这将始终返回一个有效的窗口元素(如果控件没有顶级父级,则返回控件本身 - 因为它已经是顶级窗口了!
BaseWrapper.type_keys
pywinauto.base_wrapper.BaseWrapper.type_keys(keys, pause=None, with_spaces=False, with_tabs=False, with_newlines=False, turn_off_numlock=True, set_foreground=True, vk_packet=True)
- 使用
keyboard.send_keys
键入元素的键
这使用重新编写的键盘 python 模块,您可以在其中找到有关键用途的文档。
BaseWrapper.verify_actionable
pywinauto.base_wrapper.BaseWrapper.verify_actionable()
- 验证该元素是否可见且已启用
- 如果未启用或不可见,则分别引发 ElementNotEnalbed 或 ElementNotVisible。
BaseWrapper.verify_enabled
pywinauto.base_wrapper.BaseWrapper.verify_enabled()
- 验证该元素是否已启用
首先检查元素的父元素是否已启用(如果没有父元素,则跳过),然后检查元素本身是否已启用。
BaseWrapper.verify_visible
pywinauto.base_wrapper.BaseWrapper.verify_visible()
- 验证元素是否可见
首先检查元素的父元素是否可见。(如果没有父项,则跳过),然后检查元素本身是否可见。
BaseWrapper.wait_for_idle
pywinauto.base_wrapper.BaseWrapper.wait_for_idle()
用于等待线程或窗口空闲状态的后端特定函数
BaseWrapper.was_maximized
pywinauto.base_wrapper.BaseWrapper.was_maximized()
- 指示窗口是否在最小化之前最大化
BaseWrapper.wheel_mouse_input
pywinauto.base_wrapper.BaseWrapper.wheel_mouse_input(coords=(None, None), wheel_dist=1, pressed='')
- 做鼠标滚轮
BaseWrapper.window_text
pywinauto.base_wrapper.BaseWrapper.window_text()
- 元素的窗口文本
相当多的控件具有其他可见的文本,例如,编辑控件通常具有用于window_text的空字符串,但仍显示在编辑窗口中的文本。
BaseWrapper.writable_props
pywinauto.base_wrapper.BaseWrapper.writable_props
- 生成要编写的默认属性的列表。
派生类可能会重写或扩展此列表,具体取决于它们需要多少控制。
exception base_wrapper.ElementNotEnabled
exception pywinauto.base_wrapper.ElementNotEnabled
- 未启用元素时引发
exception base_wrapper.ElementNotVisible
exception `pywinauto.base_wrapper.ElementNotVisible`
- 当元素不可见时引发
base_wrapper.InvalidElement
exception pywinauto.base_wrapper.InvalidElement
- 在传递无效元素时引发
base_wrapper.remove_non_alphanumeric_symbols
pywinauto.base_wrapper.remove_non_alphanumeric_symbols(s)
- 使文本可用于属性名称