windows 桌面GUI自動化- 14.pywinauto 找到多個相同控件使用found_index

windows 桌面GUI自動化- 14.pywinauto 找到多個相同控件使用found_index

前言

在使用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
喜歡就支持一下吧
點贊14 分享