0

我正在使用 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.")

任何建议将不胜感激。谢谢!

4

0 回答 0