Pywinauto如何获取返回元素的列表

问题描述:

我正在使用具有自定义堆栈面板(基本上是一个列表)的WPF应用程序。列表中的项目完全相同,所以我无法选择特定的文本来唯一标识元素。而其他一些价值如时间是动态的。Pywinauto如何获取返回元素的列表

有没有办法让我得到返回的元素列表。我知道这是可能的,因为错误被抛出,ElementAmbiguousError声明计数。

如果我能做到这一点,那么从该列表中我可以使用索引并验证我需要什么。

您可以将found_index=0或其他索引添加到窗口规范对象。这是消除搜索歧义的第一种方法。

还有一些方法.children().descendants()与像control_typetitle额外PARAMS(我记得title应该工作),但一些窗口规范PARAMS没有在这些方法支持。

+0

感谢您的回答瓦西里。我已经尝试过你的解决方案,但由于创建列表的方式,我无法为列表视图获取子文章。列表视图项目本身是主应用程序窗口的子项。 – user8678153

+0

如果我可以得到在执行类似dlg.child_window(auto_id =“list_item_name”)时发现的元素的数量,这将非常有帮助。这将返回模糊的错误并指出找到的元素的数量。如果我可以访问该计数,那么我很容易使用found_index属性来搜索列表 – user8678153

+0

要列举所有孩子使用'dlg.children(control_type =“ListItem”)'或'descendants'方法(它列出整个子树作为普通列表)。 –