You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pywinauto如何访问ListItem或ListItemWrapper下的第一个元素

Pywinauto ListItemWrapper子元素访问解决方案

方案1:直接通过cells()方法获取目标元素(推荐)

你调用display.cells()返回的结果本身就是按「行→列」结构组织的控件列表,你需要的第二行首个EditWrapper对应索引[1][0],可直接取用:

# 索引1对应第二行,索引0对应第一列元素
target_edit = display.cells()[1][0]
# 执行点击操作
target_edit.click()

这个方案无需额外遍历子控件,是最高效的实现方式。

方案2:从ListItemWrapper对象中提取子元素

如果你已经通过get_item()拿到了ListItemWrapper对象,可通过以下两种方式获取首个子元素:

  1. 调用children()方法获取所有子控件列表,按索引取第一个:
item = display.get_item(1)
# 获取ListItem下所有直接子控件
item_children = item.children()
# 索引0对应第一个子元素
target_edit = item_children[0]
target_edit.click()
  1. 若子控件顺序不固定,可通过控件类型筛选:
item = display.get_item(1)
# 筛选类型为Edit的第一个子控件
target_edit = item.child_window(control_type="Edit", found_index=0)
target_edit.click()

注意事项

如果默认调用children()拿不到元素,可添加depth参数调整搜索深度,比如item.children(depth=2),适配不同结构的列表项控件。

内容的提问来源于stack exchange,提问作者bharatraj shetty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 18:54:01