首页 > 系统相关 >windows 桌面GUI自动化- 14.pywinauto 找到多个相同控件使用found_index

windows 桌面GUI自动化- 14.pywinauto 找到多个相同控件使用found_index

时间:2023-08-24 16:34:11浏览次数:36  
标签:控件 14 index menu window pywinauto found MenuBar

前言

pywinauto 在查找到多个相同控件时操作会报错,可以使用found_index 选择其中的一个

查找到多个

查找control_type="MenuBar" 的所有控件

from pywinauto import Application


app = Application('uia').start("notepad.exe")
win = app.window(title_re="无标题 - 记事本")
# 输入内容
win.child_window(title="文本编辑器").set_text("hello world")

# 查找MenuBar
menu = win.child_window(control_type="MenuBar")
print(menu.window_text())

在获取窗口文本menu.window_text() 时会报错,因为不止找到一个

pywinauto.findwindows.ElementAmbiguousError: There are 2 elements that match the criteria 
{'control_type': 'MenuBar', 'top_level_only': False, 'parent': <uia_element_info.UIAElementInfo - '无标题 - 记事本', Notepad, 460858>, 'backend': 'uia'}

加上 found_index 参数,按索引取值

# 查找
menu = win.child_window(control_type="MenuBar", found_index=0)
print(menu.window_text())

索引下标从0开始

标签:控件,14,index,menu,window,pywinauto,found,MenuBar
From: https://www.cnblogs.com/yoyoketang/p/17654454.html

相关文章

  • MySQL 索引提示 - FORCE INDEX
    概述 在MySQL中,FORCEINDEX是一种查询提示,用于强制查询优化器使用特定索引来执行查询。查询优化器在执行查询时,会根据统计信息和查询条件等来选择最优的执行计划,包括选择哪个索引来提高查询性能。但有时候查询优化器可能会选择非最优的索引,或者无法识别最适合的索引,这时可以使......
  • LinkButton控件,点击按钮带参数到后台
    LinkButton实现带参数到后台方法详解一:LinkButton控件常用的属性Text:用于设置控件显示的文本内容。ToolTip:鼠标悬停在控件上时显示的提示信息。CommandArgument:用于向服务器端的事件处理程序传递额外的参数。CommandName:用于标识LinkButton的命令名称,用于区分不同的......
  • 5.14 汇编语言:仿写Switch选择结构
    选择结构,也称为switch语句,是计算机编程中的一种控制结构,用于根据表达式的值选择不同的执行路径。它允许程序根据表达式的值来决定执行哪个代码块,从而实现多分支选择逻辑。switch语句由一个表达式、多个case标签以及对应的代码块组成。程序会将表达式的值与每个case标签进行匹配,一......
  • mysql导入sql文件“Index column size too large. The maximum column size is 767 by
    问题分析由于MySQL的InnoDB引擎表索引字段长度的限制为767字节,因此对于多字节字符集的大字段或者多字段组合,创建索引时会出现该问题。说明注:以utf8mb4字符集字符串类型字段为例。utf8mb4是4字节字符集,默认支持的索引字段最大长度是191字符(767字节/4字节每字符......
  • windows 桌面GUI自动化- 12.pywinauto 组合框控件ComboBox操作
    前言pywinauto组合框控件ComboBox操作场景记事本-另存为-编码选择,下图这种就是组合框控件ComboBoxselect选择官网给的教程是通过select选择选项示例frompywinautoimportApplicationapp=Application('uia').start("notepad.exe")win=app.window(title_re="......
  • mysql use index
    MySQLUSEINDEX简介索引为你提供了优化查询性能的好方法,它就像一本书的目录,让你能快速找到所需内容,mysql在选择最佳查询方式时,需要考虑很多因素,其中基数是重要的因素之一。基数意味着可以插入列中数值的唯一性。但是,由于多次插入、更新和删除操作,基数可能会发生变化。您可以定......
  • iPhone14系列safearea、分辨率及媒体查询
    特别注意:iPhone14Pro和iPhone14ProMax的状态栏高度和safeArea顶部安全距离不一致屏幕尺寸及安全区大小手机型号尺寸(pt)倍数屏幕(px)状态栏高度顶部安全距离底部安全距离iPhone14Pro393*85231179*255654pt59pt34pt(竖屏)/21pt(横屏)iPhone14ProMax430*93......
  • windows 桌面GUI自动化- 11.pywinauto 窗口和控件截图capture_as_image()
    前言pywinauto对窗口和控件截图capture_as_image()窗口截图对连接的窗口截图frompywinautoimportApplicationapp=Application('uia').start("notepad.exe")win=app.window(title_re="无标题-记事本")#对窗口截图win.capture_as_image().save('not.pn......
  • element 树形控件,父节点不显示复选框,子节点显示复选框,需增加特定样式
      代码复用参考: /deep/.stafftree.el-tree.el-tree-node.is-leaf+.el-checkbox.el-checkbox__inner{display:inline-block;}/deep/.stafftree.el-tree.el-tree-node.el-checkbox.el-checkbox__inner{display:none;}::v-deep.el-tr......
  • 由P7914括号序列(A题)引发的关于区间DP的思考
    和CF149DColoringBrackets(B题)一样,都是关于括号的区间DP。在B题中,有一个细节,就是在枚举断点时枚举到第一个就要break,这是为了使每种方案只贡献一次,防止一种方案中有多个符合条件的断点。此题中,因为序列的字符是不变的,所以直接break就行了。但是在A题中,情况变得比较复杂,比如一......