我正在使用 Inspect.exe 来识别我想在我的 UI 自动化脚本中使用 pywinauto/Python 引用的 Windows 控件名称。当我重命名正在自动化的 Windows 应用程序的控件(例如工作表/页面名称)时,该控件名称将注册为“”名称,而不是分配给它的新名称,即使在我重新启动所述应用程序之后也是如此。
有没有办法刷新应用程序(可能是 Python 或其他方式)所以新名称也将在 Inspect.exe 中注册/刷新,而无需重新启动操作系统(在我的情况下,新名称正确出现在 Inspect.exe只有在我重新启动我的电脑后)。
2020年 3 月 10 日更新-------------------------------------------------------- ------
下面是我使用 pywinauto 的自动化脚本片段:
def change_view(display_time_A, display_time_B, numPages):
SHEET_NAME_PREFIX = "Page"
while True:
# Connect pywinauto
print("Looking for Power BI Window")
app = Application(backend='uia', allow_magic_lookup=False).connect(path="PBIDesktop.exe")
win = app.window(title_re='.*Power BI Desktop')
time.sleep(5)
win.wait("enabled", timeout=300)
win.set_focus()
# Check if Page0 exists and show it within the specified display time A
sheetName = SHEET_NAME_PREFIX + "0"
try:
win[sheetName].click_input()
time.sleep(display_time_A * 60)
except (ElementAmbiguousError, MatchError, RuntimeError):
print(sheetName + " was NOT FOUND.")
# Check if Page 1 to N exist and show them within the specified display time B
for sheetNum in range(1, numPages):
sheetName = SHEET_NAME_PREFIX + str(sheetNum)
print("Checking if " + sheetName + " exists...")
try:
win[sheetName].click_input()
time.sleep(display_time_B * 60)
except (ElementAmbiguousError, MatchError, RuntimeError):
print(sheetName + " was NOT FOUND.")
任何建议将不胜感激。谢谢!