Я автоматизирую устаревшее приложение Win32 с бэкэнд Pywinauto Win32. Когда я сбрасываю дерево управления, я вижу, что на панели существует элемент управления редактированием с именем edit62 , но любая попытка получить доступ к нему не сработает с помощью elementnotfounderror - до тех пор, пока я вручную нажимаю или вкладывает в свою родительку. Только после этого взаимодействия Dean Panel.edit62 становятся видимыми для Pywinauto.from pywinauto import Application
# Connect to the running app
app = Application(backend="win32").connect(title_re="Domínio Folha.*")
main_win = app.window(title_re="Domínio Folha.*")
# Locate the “Cadastro de Empregados” panel
panel = main_win.child_window(
title="Cadastro de Empregados",
class_name="FNWND3190"
)
# Print identifiers at depth=3
panel.print_control_identifiers(depth=3)
< /code>
Выходной фрагмент (только кнопки появляются на глубине 3): < /p>
| pbdw190 - '' (L491, T266, R1449, B344)
| ['|
| child_window(class_name="pbdw190")
| |
| | Edit - '' (L491, T266, R491, B266)
| | ['Edit62']
| | child_window(class_name="Edit")
| |
| | Edit - '' (L491, T266, R491, B266)
| | ['Edit63']
| | child_window(class_name="Edit")
| |
| | PBEDIT190 - '928' (L401, T249, R491, B267)
| | ['928', '928PBEDIT190', 'PBEDIT190139']
| | child_window(title="928", class_name="PBEDIT190")
< /code>
Затем я попробую: < /p>
# This raises ElementNotFoundError
panel.Edit62.wait('exists ready', timeout=5)
< /code>
Но если я вручную нажимаю или нажимаю вкладку, чтобы настоящий пользовательский интерфейс сосредоточился на этом регионе, то панель.edit62 успешно разрешается. < /p>
Что я попробовал: < /p>
panel.set_focus() and even Win32’s SetForegroundWindow
< /code>
Увеличение тайм -аутов < /p>
wrapper.invalidate_cache()
< /code>
Ни один из них не дает Edit62, пока я физически нажимаю на панель. EDIT62 Control (и другие динамически загруженные дети), чтобы стать видимым в Pywinauto без ручного клика или вкладки? Существует ли рекомендуемый вызов API или последовательность сообщений для отправки, поэтому приложение загружает это управление заранее?
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/796 ... ce-a-hidde
Pywinauto (Win32) не найдет редактирование, пока я вручную нажимаю на него - как заставить скрытый элемент управления дл ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
PywinAuto print_control_identifiers не идентифицирует элемент управления *обновлен кодом*
Anonymous » » в форуме Python - 0 Ответы
- 26 Просмотры
-
Последнее сообщение Anonymous
-