pywinauto print_control_identifiers () не работает - PullRequest
0 голосов
/ 09 октября 2018

Кто-нибудь знает причину, по которой я не вижу полное дерево для программы установки Adobe AIR

Мой код: * по неизвестной причине я не могу запустить приложение и увидеть его, мне нужно сначала запустить его,затем проверьте идентификатор процесса и после использования "connect (process = ID)" или у меня есть эта ошибка:

pywinauto.findwindows.ElementNotFoundError: {'best_match': 'AdobeAIRSetup',' backend ':' uia ',' process ': 3480}

#app = Application(backend='uia').start(r'AdobeAIRInstaller.exe')

app = Application().connect(process=9880) 
app.AdobeAIRSetup.print_control_identifiers()

После этого я вижу результат:

Идентификаторы управления:

ApolloRuntimeContentWindow - «Настройка Adobe AIR» (L1163, T107, R1883, B754) [«ApolloRuntimeContentWindow», «Настройка Adobe AIRApolloRuntimeContentWindow», «Настройка Adobe AIR»] child_window (title = «Настройка Adobe AIR», class_nameunolol = Ap")

Но нет кнопок" Я согласен "и" Отмена ", поэтому я не могу нажать на нее!

Adobe Setup Windows

Inspect I can see 2 buttons

enter image description here

1 Ответ

0 голосов
/ 10 октября 2018

Решение с «import psutil» поможет получить PID и отправить его для подключения методом!

from pywinauto import Application, Desktop

import psutil


PROCNAME = "Adobe AIR Installer.exe"
app = Application(backend='uia').start(r'AdobeAIRInstaller.exe')
apploaded = False


while apploaded == False:
    for proc in psutil.process_iter():
        if proc.name() == PROCNAME:
            print(proc.pid)
            app = Application(backend='uia').connect(process=proc.pid)
            apploaded = True
...