pywinauto - 动态控制总是列在 print_control_identifiers()
Posted
技术标签:
【中文标题】pywinauto - 动态控制总是列在 print_control_identifiers()【英文标题】:pywinauto - dynamic control always listed in print_control_identifiers() 【发布时间】:2020-10-29 09:21:20 【问题描述】:我正在尝试自动化连接和断开 Internet 的程序。因此,在一个窗口中,它有一个动态的断开连接按钮,该按钮仅在应用程序连接时出现。
我正在尝试使用.exists()
方法或.visible
参数检查断开连接按钮。不幸的是,即使窗口中不存在按钮,两者总是返回true
。
当我检查print_control_identifiers()
时,断开连接按钮始终列在该特定窗口中,尽管它当前不存在于窗口中。
如何检查断开连接按钮当前是否存在和/或是否可见?
我正在使用 backend="win32"
创建一个 pywinauto 实例,因为我们的代码是为这些访问标识符编写的,其他一切正常。
【问题讨论】:
【参考方案1】:想通了,有一个小错字,必须将使用 .visible
属性的条件包装在 try/except 子句中,因为当元素不可见时它会抛出异常......不知道为什么这不只需返回 False,因为它是一个布尔值,在可见时返回 True。
【讨论】:
以上是关于pywinauto - 动态控制总是列在 print_control_identifiers()的主要内容,如果未能解决你的问题,请参考以下文章
Pywinauto常用01--print_control_identifiers()