Windows Имя элемента управления пусто "" в Inspect.exe даже после перезапуска приложения Windows, содержащего элемент управления - PullRequest
0 голосов
/ 09 марта 2020

Я использую Inspect.exe для определения имен элементов управления Windows, на которые я хотел сослаться в своем скрипте автоматизации пользовательского интерфейса, используя pywinauto / Python. Когда я переименовываю элемент управления (например, имя листа / страницы) приложения Windows, которое я автоматизирую, это имя элемента управления будет зарегистрировано как "" Имя, а не с новым именем, которому оно присвоено, даже после перезапуска указанного приложения ,

Есть ли способ обновить sh приложение (может быть, Python или другим способом), чтобы новое имя также регистрировалось / refre sh в Inspect.exe без перезагрузки ОС (в моем случае новое имя правильно появилось в Inspect.exe только после перезагрузки моего P C).

ОБНОВЛЕНО 03/10/2020 -------------------------------- ------------------

Ниже приведен фрагмент моего скрипта автоматизации с использованием 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.")

Любое предложение будет высоко оценено , Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...