如何在 pywinauto 中通过正则表达式标题搜索子代/后代?

2024-01-20

我正在尝试通过正则表达式标题获取另一个 UI 元素的子/后代 UI 元素。

例如,以下代码应该可以工作。

from pywinauto.application import Application, WindowSpecification
root_ws: WindowSpecification = (
    Application(backend="uia")
        .connect(path="C:/program.exe")
        .window(title_re="^Program *")
)
root_ws.descendants(title_re="^abc*", control_type="DataItem")

然而,正如所描述的(通过瓦西里·里亚博夫 https://stackoverflow.com/users/3648361/vasily-ryabov) 在这个评论中 https://stackoverflow.com/questions/46432544/pywinauto-how-do-i-get-the-list-of-returned-elements#comment86088573_49458557, title_re is not possible for children/descendants.

支持通过正则表达式搜索子项的函数是find_elements,但是它不接受root_ws作为家长:

import pywinauto
pywinauto.findwindows.find_elements(title_re="^abc*", 
                                    top_level_only=False,
                                    parent=root_ws)

抛出异常AttributeError: 'StaticWrapper' object has no attribute 'rich_text'

如何仅通过正则表达式标题找到另一个 UI 元素的子元素?


在 pywinauto 0.6.8 中,您可以简单地使用child_window来寻找一个元素。它采用与以下完全相同的参数find_elements.

Example:

from pywinauto.application import Application

root_ws = Application(backend="uia").connect(path="C:/program.exe").window(title_re="^Program *")
root_ws.child_window(title_re="^abc*", control_type="DataItem")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 pywinauto 中通过正则表达式标题搜索子代/后代? 的相关文章

  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • BeautifulSoup 中的嵌套标签 - Python

    我在网站和 stackoverflow 上查看了许多示例 但找不到解决我的问题的通用解决方案 我正在处理一个非常混乱的网站 我想抓取一些数据 标记看起来像这样 table tbody tr tr tr td td td table tr t
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐

  • 通过 PeerConnection 发送具有 Web 音频效果的 MediaStream 对象

    我正在尝试发送通过以下方式获得的音频getUserMedia 并通过 WebRTC 的 PeerConnection 使用 Web Audio API 进行更改 Web Audio API 和 WebRTC 似乎有能力做到这一点 但我无法理
  • 为什么我在此处收到“子项具有其类型使用匿名命名空间的基数”警告

    我试图理解为什么在尝试编译此代码时收到警告 Wsubobject linkage base hh pragma once include
  • 如何在C#中设置存储库中的一些实体属性?

    我有一个数据库 它的所有实体都有一些用于创建 修改 删除的日志字段 我必须在所有 CRUD 操作中获取当前用户 ID 并出于安全目的设置这些字段 这是我的实体的示例 log properties public byte RecordStat
  • C# 如何将大的十六进制字符串转换为二进制

    我有一个 14 个字符的字符串 这是 7 个字节的十六进制表示 我想将其转换为二进制 我尝试使用Convert ToString Convert ToInt32 hexstring 16 2 对于小字符串 此方法有效 但对于 14 个字符
  • sh:语法错误:错误的 fd 编号 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一些
  • ASP.NET Web API 多个 RoutePrefix

    开源属性路由 http attributerouting net route prefixes允许有多个路由前缀 为什么 ASP NET Web API 2 0 不允许有多个 RoutePrefix RoutePrefix api v1 a
  • 已检查=“已检查”与已检查= true

    下面两种用法有什么区别 document getElementById myRadio checked checked and document getElementById myRadio checked true 对我来说 两者的行为方
  • Android 加速度传感器

    我正在尝试使用加速度计传感器 所以我尝试了这个 例子 http blog androgames net 85 android accelerometer tutorial http blog androgames net 85 androi
  • 在 Visual Studio 2013 中生成 .edmx EF6 时出现问题

    我正在尝试针对 mssql 2012 或 2008 数据库服务器和表集在 Visual Studio 2013 中为我的数据库生成 edmx 文件 edmx 文件生成时没有问题 并且在我尝试编译项目之前一切看起来都很好 代表数据库表的每个对
  • 适用于 .net/PowerShell 的良好内存数据库?

    如果我有一个处理稍微复杂一点且可以存储在变量中的状态信息的脚本 那么对于小型内存数据库来说 最佳选择是什么 Sqlite 是一个选项 尽管这将是一个外部依赖项 XML 也可以 尽管它是非关系型的 对于这项工作的工具有什么共识吗 考虑到 Po
  • Linux 64 位 shellcode

    我正在尝试在 Ubuntu 64 位上编写我的第一个 Hello world shellcode 但它不起作用 我有文件你好 asm 64 bit Hello World in Linux NASM global start global
  • 如何下载旧版本的 STS? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找下载3 6 0 sts bundle但我找不到执行此操作的地方https spring io
  • 如何用opencv改变饱和度值?

    为了将恒定值添加到每个像素的饱和度值 我在双循环中执行此操作 我想知道是否有更简单 更快的命令来实现这一点 对于我尝试的实验 分割 hsv 值 调整各个通道然后进行合并的替代方法提供了更好的性能 与循环像素相比 下面的方法对我来说要快很多倍
  • 如何轻松地重新排序TabControl?

    我有一个TabControl我在 VS2005 设计器中设计的 大约有 7 个选项卡 如何轻松切换选项卡的顺序 我匆忙地在末尾放了一个标签 但现在我想把它放在中间的某个地方 在选项卡控件的属性中 有一个 TabPages 集合 你应该能够在
  • Wordpress AJAX 调用出现 400 错误请求 [重复]

    这个问题在这里已经有答案了 我正在为 WordPress 网站的前端开发一个搜索插件 目前我不断收到 400 Bad Request 错误 但我不明白为什么 我已经审查了许多关于 SO 和 WordpressStackExchange 的问
  • 如何将图片合并到 WriteableBitmap 中?

    我有一个像这样的位图 var map new WriteableBitmap 800 800 800 800 PixelFormats Bgr32 null 然后我有一个 50x50 png 图片 我想将其合并到此位图 包括透明度 中 位置
  • 创建类似于fb:tag

    我想创建类似于 fb 标签的东西 例如 如果您将 fb comments 放入代码中 它将显示您来自 Facebook 的评论 当然 您需要在 HTML 头中包含 Facebook xmlns 如何创建自己的标签来执行加密等操作 例如
  • 尽管智能感知列出了它,但找不到定义?

    我在 Visual Studio 10 现在也是 11 中遇到了一个奇怪的错误 我有一个扩展方法 public static S Foo
  • 使用包标识符打开应用程序

    是否可以从我们的应用程序中打开应用程序bundle identifier 假设我在第一台设备上安装了两个应用程序com test app1 and com test app2 我可以从我的 app2 中打开 app1 吗 我知道 openU
  • 如何在 pywinauto 中通过正则表达式标题搜索子代/后代?

    我正在尝试通过正则表达式标题获取另一个 UI 元素的子 后代 UI 元素 例如 以下代码应该可以工作 from pywinauto application import Application WindowSpecification roo