首页 > 解决方案 > 获取 TreeView 元素的名称

问题描述

如何获取 treeView 元素的名称?

treeView = addDevWin.TreeView
node2= treeView.GetItem([u'Parent', node1'])
node2.select()
level3nodes = node2.children()

# Output:
#[<pywinauto.controls.common_controls._treeview_element object at 0x068C8750>, <pywinauto.controls.common_controls._treeview_element object at 0x068C82F0>, <pywinauto.controls.common_controls._treeview_element object at 0x068D2750>, <pywinauto.controls.common_controls._treeview_element object at 0x068D2870>, <pywinauto.controls.common_controls._treeview_element object at 0x068D2770>]

我想获取树视图元素对象的名称,就像它们出现在 UI 中一样。这样我就可以按如下方式选择它们:

for element in level3nodes:
    if 'substring' in element:
        node3= treeView.GetItem([u'Parent', node1', element])
        node3.select()

使用:Windows 10、Python3。

标签: python-3.xtreeviewpywinauto

解决方案


你需要.item_texts()对象的方法treeView。“win32”后端中的树视图项目是一种虚拟项目,没有通常的 Win32 API 句柄。这就是为什么你需要.get_item(...)


推荐阅读