前言
在使用pywinauto查找多個相同控件時,可能會遇到操作錯誤的問題。通過使用found_index參數,可以選擇其中的一個控件來解決這個問題。
查找多個相同控件
我們將查找所有類型為control_type=”MenuBar”的控件。
代碼示例
from pywinauto import Application <p>app = Application('uia').start("notepad.exe") win = app.window(title_re="無標題 - 記事本")</p><h1>輸入內容</h1><p>win.child_window(title="文本編輯器").set_text("hello world")</p><h1>查找MenuBar</h1><p>menu = win.child_window(control_type="MenuBar") print(menu.window_text())
在執行menu.window_text()獲取窗口文本時,會報錯,因為找到了不止一個符合條件的控件。
錯誤信息
pywinauto.findwindows.ElementAmbiguousError: There are 2 elements that match the criteria {'control_type': 'MenuBar', 'top_level_only': False, 'parent': <uia_element_info.uiaelementinfo notepad="">, 'backend': 'uia'}
使用found_index參數
通過添加found_index參數,可以按索引選擇特定的控件。
# 查找MenuBar并使用索引 menu = win.child_window(control_type="MenuBar", found_index=0) print(menu.window_text())
索引從0開始計數。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END