2017-09-26 31 views
0

私は基本的にリストであるカスタムスタックパネルを持つWPFアプリケーションを使用しています。リストの項目はまったく同じですので、要素を一意に識別する特定のテキストを選択することはできません。そして、時間のような他の値は動的です。Pywinauto返された要素のリストを取得する方法

返される要素のリストを取得する方法はありますか?私はそれが可能であることを知っているので、エラーがスローされた、ElementAmbiguousError状態数をカウントします。

もし私がそれを行うことができたら、そのリストからインデックスを使用して必要なものを検証することができます。

答えて

0

found_index=0またはその他のインデックスをウィンドウ指定オブジェクトに追加できます。これが検索の曖昧さを解消する最初の方法です。 (私はtitleが動作するはずです覚えている)

も方法.children()control_typeまたはtitleのような追加のparamsと.descendants()ありますが、いくつかのウィンドウ指定のparamsは、これらの方法でサポートされていません。

+0

あなたの答えはありがとうございました。私はあなたのソリューションを試しましたが、リストが作成される方法のために、私はリストビューのためだけに子供の投稿を得ることはできません。リストビュー項目自体は、メインアプリケーションウィンドウの子です。 – user8678153

+0

dlg.child_window(auto_id = "list_item_name")のようなことをしたときに見つかった要素の数を得ることができれば非常に役に立ちます。これにより、あいまいなエラーが返され、見つかった要素の数が示されます。そのカウントにアクセスすることができたら、found_indexプロパティを使ってリストを検索するのは簡単です – user8678153

+0

すべての子を列挙するには、 'dlg.children(control_type =" ListItem ")'メソッドまたは 'descendants'メソッドを使用します普通のリストとしてのサブツリー)。 –

関連する問題