Я пытаюсь написать скрипт, используя pywinauto, чтобы открыть репозиторий в диспетчере рабочих процессов Informatica powercenter (v9.6.1)
После выполнения приведенных ниже строк я получаю контекстное меню с опцией подключения, как на скриншоте. Также обратите внимание, что кнопка «Подключиться» на панели инструментов остается неактивной. Если я использую реальную мышь и нажимаю на элемент дерева для репозитория, к которому я хочу подключиться, кнопка подключения становится зеленой и активной. Но не тогда, когда pywinauto отправляет правый клик.
from pywinauto.application import Application
from pywinauto.keyboard import SendKeys
import time
app = Application().Start(cmd_line=r'C:\PowerCenterClient\client\bin\pmwflmgr.exe')
informaticaworkflowmanager = app[u'Informatica::WorkflowManager']
informaticaworkflowmanager.Wait('ready')
time.sleep(2)
systreeview = informaticaworkflowmanager[u'TreeView']
tree_item = systreeview.GetItem([u'Repositories', u'REP'])
tree_item.Select()
tree_item.Click(button='right',double=True,where='icon')
Я попытался использовать SendKeys для отправки «c», а затем {ENTER}, и он просто возвращается, ничего не делая. Кроме того, если я использую фактическую клавиатуру в контекстном меню правой кнопки мыши, созданном после выполнения вышеуказанных шагов pywinauto, он выбирает меню подключения, когда я нажимаю c , но ничего не делает, когда я нажимаю Enter. Я думаю, почему-то функция подключения не включена. Я понятия не имею, требуется ли какой-либо другой ввод для приложения, чтобы включить его. Я также пытался использовать параметр informaticaworkflowmanager.MenuItem(u'&Repository->&Connect...')
, но безрезультатно - он говорит, что он отключен.
Любые указатели, которые помогут pywinauto открыть репозиторий, приветствуются!
start()
нет специального флага, поскольку некоторые функции могут не работать, если у целевого процесса приложения более высокие привилегии. В любом случае повышение обычно требует подтверждения от пользователя, и это диалоговое окно подтверждения безопасности не может быть автоматизировано дизайном ОС. - person Vasily Ryabov   schedule 06.09.2017