不会写中文 2022-12-30 14:07 采纳率: 75%
浏览 47
已结题

python 中的应用程序的 GUI 自动化中,如何获取下拉框所有项的值?

python 中的应用程序的 GUI 自动化中,如何获取下拉框所有项的值,这个要怎么搞?我要获取红色框内的值!
因为我要去判断是否有乱码,所以需要获取下拉框的值,

img

如图中红色区域是要获得的值,

已有的代码:

combox = uiautomation.ComboBoxControl(Name=u' 下', control_type='ComboBox')
combox.SetFocus()

log.debug(f'下拉框的信息:{combox}')

执行结果:

[yxjy_process.py:into_data-->245] 下拉框的信息:ControlType: ComboBoxControl ClassName: AutomationId: Rect: (791,459,1120,484)[329x25] Name: ' 下' Handle: 0x0(0)

缺少需要的数据,
目标信息:
Other Props: Object has no additional properties
Children:
"123" 列表项目
"QXMC" 列表项目
"123" 列表项目
Ancestors: " 下" 组合框
树结构:

child_window(title=" 下", control_type="ComboBox")
|
| ListBox - '' (L0, T0, R0, B0)
| ['ListBox']
| |
| | ListItem - '123' (L0, T0, R640, B18)
| | ['123ListItem', 'ListItem', 123', 'ListItem0', 'ListItem1']
| | child_window(title="123", control_type="ListItem")
| |
| | ListItem - 'QXMC' (L0, T18, R640, B33)
| | ['QXMC', 'QXMCListItem', 'ListItem2']
| | child_window(title="QXMC", control_type="ListItem")
| |
| | ListItem - '123' (L0, T33, R640, B51)
| | ['123', '123ListItem', 'ListItem3']
| | child_window(title="123", control_type="ListItem")


要获取的是 ListItem 后面的值,就是要判断是否有乱码(PS 123 位置就是乱码)

有常识过用 pywinauto,使用 dump_tree()/children_texts() 然后结果都不理想,获取到整个树之后再进行解析,但是结果都不理想。

  • 写回答

2条回答 默认 最新

  • 不会写中文 2023-03-22 16:27
    关注

    已经解决,具体方法见回复即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 请提交代码 12月31日
  • 创建了问题 12月30日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效