【Pywinauto库】12.4 pywinauto.uia_element_info后端内部实施模块

发布于:2025-09-16 ⋅ 阅读:(22) ⋅ 点赞:(0)

于处理UI元素的类的实现(基于UI自动化API)

class pywinauto.uia_element_info.UIAElementInfo(handle_or_elem=None, cache_enable=False)
功能:基于IUIAutomation API的UI元素包装器,用于处理现代Windows应用程序的UI自动化

构造函数参数:

  • handle_or_elem:可选参数,可以是窗口句柄或现有的AutomationElement对象
  • cache_enable:是否启用缓存,默认为False

主要属性和方法:

  • automation_id
    功能:返回元素的AutomationId,这是UI自动化中元素的唯一标识符

  • children(**kwargs)
    功能:返回元素的直接子元素列表
    参数kwargs:支持按进程、class_name、control_type、content_only或title等条件过滤列表

  • class_name
    功能:返回元素的类名

  • control_id
    功能:如果元素有句柄,返回元素的ControlId

  • control_type
    功能:返回元素的控件类型

  • descendants(**kwargs)
    功能:返回元素的所有后代子元素列表
    参数kwargs:支持按进程、class_name、control_type、content_only和/或title等条件过滤

  • dump_window()
    功能:将窗口属性转储为一组属性值

  • element
    功能:返回AutomationElement实例

  • enabled
    功能:检查元素是否启用

  • framework_id
    功能:返回元素的FrameworkId

  • classmethod from_point(x, y)
    功能:类方法,根据屏幕坐标(x, y)获取该位置的UI元素

  • handle
    功能:返回元素的句柄

  • iter_children(**kwargs)
    功能:返回元素直接子元素的生成器
    参数kwargs:支持按进程、class_name、control_type、content_only或title等条件过滤

  • name
    功能:返回元素的名称

  • parent
    功能:返回元素的父元素

  • process_id
    功能:返回元素的进程ID

  • rectangle
    功能:返回元素的矩形区域

  • rich_text
    功能:返回元素的富文本内容

  • runtime_id
    功能:返回运行时ID(可哈希值,但每次运行可能不同)

  • set_cache_strategy(cached=None)
    功能:为常用属性设置缓存策略

  • classmethod top_from_point(x, y)
    功能:类方法,获取指定屏幕坐标处的顶层UI元素

  • visible
    功能:检查元素是否可见

模块函数:
pywinauto.uia_element_info.elements_from_uia_array(ptrs, cache_enable=False)
功能:从IUIAutomationElementArray构建UIAElementInfo元素列表
参数:

  • ptrs:IUIAutomationElementArray指针
  • cache_enable:是否启用缓存,默认为False

这个类专门用于处理基于Microsoft UI Automation API的现代UI元素,特别适用于WPF、WinForms、Store Apps等现代Windows应用程序的自动化测试。