2013-07-05 123 views
0

我想在樹形視圖中選擇一個項目?我能夠控制窗口樹視圖爲SysTreeView32使用win32gui.EnumChildWindow函數,但無法獲取樹內項目的詳細信息。如何使用python在treeview中選擇一個項目?

你能提出任何方法來自動化樹視圖嗎?我發現東西一樣pywinauto,PyCTreeCntrl或win32apis,但我不知道如何使用任何這些事情的TreeView

回答

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 
+0

謝謝:)它的工作對我來說,我能夠點擊的元素。但最終的子元素是複選框。所以即使點擊它,複選框也沒有被選中。 在我的情況下,子元素'u'Data''是一個複選框,即使點擊'u'Data'',複選框仍然未選中。 – Binoy

+0

嘗試檢查()而不是點擊() – SWAPYAutomation

+0

讓我試試..謝謝:) – Binoy

1

下面的例子是我所做的解決我的問題。對我而言,Check()不起作用。但是,雙擊項目框或其父矩形上的項目即可。

所以,這裏是我所做的: 1.檢索使用矩形座標

ctrl_rect = TreeView.GetItem(路徑).Rectangle()

  1. 雙 - 使用點擊元素

窗口[ '的TreeView']。DoubleClickInput(COORDS =(ctrl_rect.left,ctrl_rect.top))

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

提供TS我希望這有助於

相關問題