winapi - 如何在基于 pywinauto 的自动化脚本中检索 inspect.exe 的“描述”字段?
问题描述
我有以下 SysTreeView32 元素,我想从中检索“描述”字段:
在我的 pywinauto 脚本(基于 win32 后端)中,我可以通过查找类类型并最终查看项目文本来轻松检索 TreeViewWrapper 元素,但我需要的一些信息仅在该元素的描述字段中可用。
我无法找到检索此信息的方法。
我也尝试过 UIA 模式:
但在这种情况下,它甚至没有出现在信息中。
因此,我尝试在 pywinauto 中将 TreeItemWrapper 元素与 UIA 后端一起使用,但即使在 UIAElementInfo 中也找不到合适的描述。尽管以下行中的某些内容看起来非常相似:
impl = uia_defs.get_elem_interface(elem, "LegacyIAccessible").
当我调用 thelegacy_properties
时uia_controls.TreeItemWrapper
,我得到:
{'ChildId': 0,
'DefaultAction': '',
'Description': '',
'Help': '',
'KeyboardShortcut': '',
'Name': 'Execute multiple tasks(MultiTask_ImportSysD)',
'Role': 36,
'State': 3145730,
'Value': ''}
在那里,描述是空的。
解决方案
我猜该属性来自IAccessible::get_accDescription
.
MSDN 说该属性已弃用,但如果您仍想使用它,请致电AccessibleObjectFromWindow
获取IAccessible
窗口。
推荐阅读
- reactjs - 将 React Dropzone 与 React Final Form 一起使用
- excel - 如何在excel中使用复选框隐藏或取消隐藏多个工作表
- postgresql - Postgres 检查可用性重叠日期
- python - 2 和 3 组合代码库中的 `__str__` 的类型是什么?
- ios - 动画 layer.mask (不是形状层的 .path)
- c# - System.Runtime.Serialization.SerializationException 从 Azure 服务总线接收消息
- ruby-on-rails - 在列中存储版本号(例如 1、1.1、1.11、1.11.1)的最佳方式?
- node.js - 通过 IBM app-id 向 React 应用程序添加用户授权和身份验证
- java - 如何将实体类与 PUT 中的 JSON 请求正文相关联?
- ssis - 对象引用未设置为对象脚本组件错误的实例