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