Как заполнить текстовые поля в графическом приложении через командную строку? - PullRequest
4 голосов
/ 24 марта 2011

Я разрабатываю приложение NLP (Обработка естественного языка) на Python и хочу использовать следующий EnConverter UNL (Универсальный сетевой язык), который представляет собой исполняемый графический интерфейс - Стороннее - приложение, работающее только на Windows (у меня нет его исходного кода):

Итак, я хочу знать, как я могу запрограммировать консольное приложение, которое вызывает этот EnConverter, и нажать кнопку «Настройка», а затем заполнить текстовые поля следующим образом:

Когда я нажимаю кнопку " Setting ", появляется предыдущее окно ... Я хочу, чтобы мое приложение заполнило эти текстовые поля, а затем нажмите " OK "... При нажатии кнопки " OK " приложение возвращается в первое окно ... Последнее, что приложение (мое приложение) должно сделать, это нажать кнопку " EnConvert "в первом окне ... Смотрите первое изображение, пожалуйста.

Я знаю, что это возможно, потому что мой профессор выполнил эту работу в Perl ... И он отказался сказать мнекак!!!Я исследовал Интернет, но ничего не получил!

Ответы [ 3 ]

4 голосов
/ 24 марта 2011

Вы можете использовать Win32 :: GuiTest .Он может обнаруживать виджеты, нажимать кнопки, писать текст в графический интерфейс и т. Д.

3 голосов
/ 24 марта 2011

Вы можете использовать PyWinAuto .Он может обнаруживать виджеты, нажимать кнопки, писать текст в графический интерфейс и т. Д.

1 голос
/ 24 марта 2011

Пакет Windows Sendkey выглядит так, как будто он идеален для подобных вещей.

Со страницы:

В этом примере SendKeys используется для ввода «Hello World!» в блокноте.

import SendKeys
SendKeys.SendKeys("""
    {LWIN}
    {PAUSE .25}
    r
    Notepad.exe{ENTER}
    {PAUSE 1}
    Hello{SPACE}World!
    {PAUSE 1}
    %{F4}
    n
""")
...