2017-09-26 364 views
0

我正在使用具有自定義堆棧面板(基本上是一個列表)的WPF應用程序。列表中的項目完全相同,所以我無法選擇特定的文本來唯一標識元素。而其他一些價值如時間是動態的。Pywinauto如何獲取返回元素的列表

有沒有辦法讓我得到返回的元素列表。我知道這是可能的,因爲錯誤被拋出,ElementAmbiguousError聲明計數。

如果我能做到這一點,那麼從該列表中我可以使用索引並驗證我需要什麼。

回答

0

您可以將found_index=0或其他索引添加到窗口規範對象。這是消除搜索歧義的第一種方法。

還有一些方法.children().descendants()與像control_typetitle額外PARAMS(我記得title應該工作),但一些窗口規範PARAMS沒有在這些方法支持。

+0

感謝您的回答瓦西里。我已經嘗試過你的解決方案,但由於創建列表的方式,我無法爲列表視圖獲取子文章。列表視圖項目本身是主應用程序窗口的子項。 – user8678153

+0

如果我可以得到在執行類似dlg.child_window(auto_id =「list_item_name」)時發現的元素的數量,這將非常有幫助。這將返回模糊的錯誤並指出找到的元素的數量。如果我可以訪問該計數,那麼我很容易使用found_index屬性來搜索列表 – user8678153

+0

要列舉所有孩子使用'dlg.children(control_type =「ListItem」)'或'descendants'方法(它列出整個子樹作爲普通列表)。 –