首页 > 解决方案 > 如何在基于 pywinauto 的自动化脚本中检索 inspect.exe 的“描述”字段?

问题描述

我有以下 SysTreeView32 元素,我想从中检索“描述”字段:

描述栏突出显示

在我的 pywinauto 脚本(基于 win32 后端)中,我可以通过查找类类型并最终查看项目文本来轻松检索 TreeViewWrapper 元素,但我需要的一些信息仅在该元素的描述字段中可用。

我无法找到检索此信息的方法。

我也尝试过 UIA 模式:

在此处输入图像描述

但在这种情况下,它甚至没有出现在信息中。

因此,我尝试在 pywinauto 中将 TreeItemWrapper 元素与 UIA 后端一起使用,但即使在 UIAElementInfo 中也找不到合适的描述。尽管以下行中的某些内容看起来非常相似:

impl = uia_defs.get_elem_interface(elem, "LegacyIAccessible").

当我调用 thelegacy_propertiesuia_controls.TreeItemWrapper,我得到:

{'ChildId': 0,
 'DefaultAction': '',
 'Description': '',
 'Help': '',
 'KeyboardShortcut': '',
 'Name': 'Execute multiple tasks(MultiTask_ImportSysD)',
 'Role': 36,
 'State': 3145730,
 'Value': ''}

在那里,描述是空的。

标签: winapiui-automationpywinauto

解决方案


我猜该属性来自IAccessible::get_accDescription.

MSDN 说该属性已弃用,但如果您仍想使用它,请致电AccessibleObjectFromWindow获取IAccessible窗口。


推荐阅读