【发布时间】:2021-07-31 06:18:00
【问题描述】:
pywinauto 将我的 GUI 对象识别为列表视图。 gui 对象是一个网格,每个单元格中都有复选框。我正在尝试通过 ListView.items()[index], item 操作单击某个复选框。 (所有项目、复选框都被识别并驻留在 ListView.items() 下)。
问题是某些项目没有响应点击。 例如:下面的代码只点击了60%的item。
我尝试以任何其他可能的方式点击,使用点击、选择、检查并通过点击使用 double=True 标志。
for item in self.curr_win.ListView5.items():
item.click()
*self.curr_win.ListView5 是我的列表视图对象
- 我需要一种方法来控制所有复选框,我将不胜感激!
- GUI 对象的图片如下
【问题讨论】:
-
尝试在点击后添加延迟,即 time.sleep(0.25)
-
您使用的是哪个后端?我的意思是它只是
Application()或Application(backend="uia")?两个后端有不同的 ListView 包装器。 -
@VasilyRyabov 我使用默认值,因为 uia 后端会在很长时间后响应。我不知道为什么,我在这个上看到了一个开放的错误。虽然说真的很慢,但我的意思是点击 5-6 秒,有时更多。 github.com/pywinauto/pywinauto/issues/256
-
@SachinPatole,没关系。 ListView 对象包含所有项目(显示在 gui 中),但是当我单击其中一些时,什么也没有发生。 * 我尝试通过 Evaluate Expression (Pycharm) 单击项目代码只是为了演示问题。
-
@VasilyRyabov 我更新了问题以提供更多信息,如有必要,我可以提供屏幕截图。
标签: python listviewitem pywinauto