結論
findbestmatch.find_best_control_matches
という関数で検索できます。
環境
- pywinauto 0.6.8
状況
Windows Media Playerのファイルリストから特定のファイル名の要素を検索します。
今回は赤枠のファイルリストの中にある「有本和仁」というファイル名の要素を検索します。
赤枠内にある全ファイル名リスト(折りたたんでます。)
安東健由
安東小都音
井垣真次
井垣美里
浦川成十郎
浦川徳子
永田ふみ子
永田正教
永浜幸徳
永浜峰
越智いずみ
越智裕治
塩瀬彰男
塩瀬智加子
河口亜紀子
河口和法
鎌刈絢友
鎌刈由紀
萱沼謙一
萱沼祐美子
岩井紗代子
岩井雄一
岩瀬多美
岩瀬武
宮村千鳥
宮村忠輔
玉井菊
玉井到
金川貴久
金川小紅
栗栖伽羅
栗栖亘
古谷久遠
古谷隆
江川貴子
江川新右衛門
江頭志能舞
江頭杪
高坂ちずる
高坂貴理人
国岡美智代
国岡碧海
国本たまき
国本春太
佐久間伊吉
佐久間伊瀬
阪野亜紀
阪野貴彦
三矢孝浩
三矢千代子
小金丸夏江
小金丸銀雅
小沢千穂
小沢明人
松原博康
松原稔江
上野しずよ
上野八五郎
植村絢士
植村美晴
菅紀仁
菅瀧
西口初穂
西口比呂
青井史
青井庄蔵
前野真悟
前野蘭
曽我鎌太郎
曽我君
竹本康夫
竹本万亀
中沢紬
中沢勇治
長山真寛
長山萩
鶴田文朗
鶴田弥恵子
天野啓子
天野章人
田崎きよ子
田崎松葉
畠中憲信
畠中連
板倉珠美
板倉重則
肥後三香
肥後内蔵助
斧円
斧俊夫
平林寛次
平林芹
米津小都音
米津達五郎
桝美夏
桝裕二
蜜田亀造
蜜田月江
木野村作蔵
木野村雪絵
柳生渚
柳生優心
有本雛
有本和仁
解説
方法はいくつかあるかと思います。
この記事では以下の手続きで要素を検索しました。
- 赤枠で囲んでいる部分(ListBox)をコントロールとして取得。
- ListBoxの子孫要素配列を
descendants
関数で取得。 - 子孫要素配列から
findbestmatch.find_best_control_matches
という関数を使用して「有本和仁」という要素を検索。
コード
from pywinauto import Application
from pywinauto import findbestmatch
if __name__ == '__main__':
# Windows Media Playerを起動
app = Application(backend='uia')
app.start(cmd_line='C:\Program Files (x86)\Windows Media Player\wmplayer.exe')
# ListBoxの子孫要素を取得
dialog = app[u'Dialog']
descendants = dialog['詳細ウィンドウListBox'].descendants()
# 「有本和仁」という要素を検索(結果は配列として返ってくる)
best_matches = findbestmatch.find_best_control_matches('有本和仁', descendants)
# 返ってきた要素を選択する
best_matches[0].select()
実行後、要素にフォーカスが当たっていることが確認できます。
以上です。
参考