如何使用python选择树视图中的项目?

时间:2013-07-05 11:37:30

标签: python python-2.7 ui-automation win32gui

我想在树状视图中选择一个项目?我可以使用 win32gui.EnumChildWindow 函数将窗口树视图控制为 SysTreeView32 ,但无法获取树中项目的详细信息。 / p>

您能建议任何自动树视图的方法吗?我发现像pywinauto,PyCTreeCntrl或win32apis之类的东西,但我不知道如何使用TreeView中的任何这些东西

2 个答案:

答案 0 :(得分:1)

以下是使用pywinauto

进行树视图自动化的示例
import pywinauto

pwa_app = pywinauto.application.Application()
w_handle = pywinauto.findwindows.find_windows(title=u'PuTTY Configuration', class_name='PuTTYConfigBox')[0]
window = pwa_app.window_(handle=w_handle)
ctrl = window['TreeView']  #SysTreeView32
ctrl.GetItem([u'Connection']).Click()  #Click on a top level element
ctrl.GetItem([u'Connection', u'Data']).Click()  #Click on a sub element

答案 1 :(得分:1)

以下是我为解决问题所做的工作。对我来说,Check()不起作用。但是,双击项目框或其父矩形上的项目将会。

所以,这就是我的所作所为: 1.使用

检索矩形坐标

ctrl_rect = TreeView.GetItem(Path).Rectangle()

  1. 双击 - 使用
  2. 单击元素

    Window ['TreeView']。DoubleClickInput(coords =(ctrl_rect.left,ctrl_rect.top))

    我使用了http://sourceforge.net/p/pywinauto/discussion/529287/thread/120750c6/

    提供的提示

    我希望这会有所帮助