pywinauto - Как идентифицировать объекты GUI - PullRequest
0 голосов
/ 03 октября 2018

Я довольно новичок в Python, и у меня возникают проблемы при идентификации объектов графического интерфейса, которыми я надеюсь управлять с помощью pywinauto.

Следуя этому примеру с помощью приведенного ниже кода, я могуОткройте Notepad.exe и выберите «Справка» из объекта «Меню».

from pywinauto.application import Application
# Run a target application
app = Application().start("notepad.exe")
# Select a menu item
app.UntitledNotepad.menu_select("Help->About Notepad")
# Click on a button
app.AboutNotepad.OK.click()
# Type a text string
app.UntitledNotepad.Edit.type_keys("pywinauto Works!", with_spaces = True)

Это довольно круто, но я хочу применить это к более практическому примеру.Я пытаюсь открыть Excel, используя app = Application().start(r"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"), и выбрать «Пустую книгу» на панели меню, которая появляется при запуске Excel 2016 - открывая новую книгу.

enter image description here

Я нацелился на объект с помощью UISpy и определил, что имя «Пустая рабочая книга».Используя приведенный выше пример кода, какую строку кода я должен выполнить, чтобы выбрать этот объект, чтобы открыть новую книгу?И что еще более важно, как мне узнать эту информацию для себя?

enter image description here

Я использую Python 3.6.1.В несвязанном вопросе - мне было интересно, что я могу открыть «notepad.exe» без полного имени, но для открытия Excel требуется app = Application().start(r"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE") - я не уверен, почему это так, но это вопросна другой день ...

...