问题描述
pywinauto 将我的 GUI 对象识别为列表视图。 gui 对象是一个网格,每个单元格中都有复选框。我正在尝试通过 ListView.items()[index],item 操作单击某个复选框。 (所有项目、复选框都被识别并驻留在 ListView.items() 下)。
问题在于某些项目对点击没有响应。 例如:以下代码仅成功点击了 60% 的项目。
我尝试以任何其他可能的方式点击,使用点击、选择、检查和通过点击使用 double=True 标志。
for item in self.curr_win.ListView5.items():
item.click()
*self.curr_win.ListView5 是我的列表视图对象
解决方法
好的,对于“win32”后端,您可以将这些文档用于 ListViewWrapper
和 _listview_item
对象:https://pywinauto.readthedocs.io/en/latest/code/pywinauto.controls.common_controls.html#pywinauto.controls.common_controls._listview_item
for item in self.curr_win.ListView5.items():
item.click(where="check")
# or
# item.click_input(where="check")
Item 方法 .ensure_visible()
为不可见的项目自动滚动。
方法 .click_input()
的不同之处在于它移动真正的鼠标光标,可以在调试时使所有操作更加可见。