Не удается получить доступ к пунктам меню через Pywinauto - PullRequest
0 голосов
/ 25 сентября 2018

Я автоматизирую следующую программу через Python: ( Surfer )

http://www.goldensoftware.com/products/surfer

Некоторые части этого я не могу контролировать с помощью win32com.клиент (библиотеки программ не поддерживают его).Часть, которая мне нужна для работы, может быть выполнена с помощью строки меню программ.Мне нужно всего лишь 5 кликов, чтобы закончить.В качестве альтернативы я пытался использовать pywinauto (моя первая попытка с этим).Но на этот раз я не могу получить пункты меню.Я попытался проанализировать меню с помощью swapy (https://github.com/pywinauto/SWAPY), но поле MenuItems отображается пустым (как пустой список []).

вот некоторый тестовый код:

from pywinauto.application import Application

app = Application(backend="uia").connect(process=2984)  # tried "win32" as backend also

srf = app.window(process=2984)

srf.menu_select("Help")

Я получаю сообщение об ошибке:

"RuntimeError: There is no menu."

Меню, к которым я пытаюсь получить доступ:

  • Редактировать
  • Упорядочить
  • Геообработка

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 29 сентября 2018

Мне наконец-то удалось управлять меню с помощью pywinauto:

app_dialog.child_window(title="Menu Bar").set_focus()

После этого возник вопрос управления клавиатурой с помощью модуля SendKeys ().

Это обходной путьно он выполняет свою работу.

...