使用Pywinauto无法点击复选框:UISpy可见但print_control_identifiers无显示
Pywinauto无法识别SysListView32内复选框的解决办法
针对你遇到的问题——UISpy能检测到目标复选框,但Pywinauto调用print_control_identifiers()无法识别、无法点击,可尝试以下方案:
切换至UIA后端
默认Win32后端对SysListView32的子复选框支持有限,改用UIA后端能更好识别这类元素。初始化应用时指定后端:app = Application(backend='uia').connect(path='你的应用程序路径.exe')重新定位
SysListView32控件并调用print_control_identifiers(),应该能看到复选框元素。直接调用ListView原生方法勾选
如果切换后端无效,可利用Win32后端提供的check_item方法,通过项索引直接操作:list_view = appNewConnect.ApplicationView1.child_window(class_name="SysListView32", found_index=0) # 勾选索引为0的项(根据实际目标项调整索引) list_view.check_item(0)校验父控件定位路径
确认ApplicationView1是正确的父层级,可先打印该父控件的所有子元素:appNewConnect.ApplicationView1.print_control_identifiers()排查是否有其他嵌套控件包含目标复选框,避免定位路径遗漏层级。
内容的提问来源于stack exchange,提问作者bharatraj shetty
相关产品推荐
相关产品推荐

