获取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。

解决方法

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

,

这是可行的解决方案:

treeElemList = [u'Parent',node1']
treeView = devWin.TreeView
node2= treeView.GetItem(treeElemList)
node2.select()
level3nodes = node2.children()
for element in level3nodes:
    if 'substring' in element.text():
        treeElemList .append(element.text())
        break

node3= treeView.GetItem(treeElemList)
node3.select()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...