#pywinauto
#pywinauto
Вопрос:
Получение параметров окна с помощью pywinauto (сверху, снизу, справа, слева) Мне удалось получить эти значения, используя следующий фрагмент
PrintControlIdentifiers()
Взято с этой страницы документации на их github. https://pywinauto.github.io/docs/code/pywinauto.application.html#pywinauto.application .Спецификация окна.PrintControlIdentifiers
Он не совсем выполняет то, что я хочу, он ищет элемент в приложении, которое я запускаю. (Идентификатор элемента управления) и дает мне местоположение для него на экране, используя следующие параметры.
(Сверху, снизу, справа, слева)
Мой вопрос прост. Есть ли функция, которая работает на более высоком уровне, которая не переходит в элементы окна, а вместо этого просто выводит (верхнее, нижнее, правое, левое) значение для открытого вами окна, а не для его элементов.
Ответ №1:
Просто используйте .Rectangle()
метод и выведите его возвращаемое значение.
Для получения подсказки в списке доступных методов (в интерактивном режиме) .WrapperObject()
полезен метод (в производстве он вызывается неявно). Допустим, у вас есть
dlg = app.DialogName.WrapperObject()
Затем вы можете ввести dlg.
IPython/IDLE/python.exe и получите список доступных методов / свойств для окна. Или просто используйте print(dir(dlg))
.
Комментарии:
1. Могу ли я высказать свое честное мнение о документации Pywinauto? По сравнению с несколькими другими системами, которые я использовал для выполнения аналогичных задач, Pywinauto было сложнее всего ориентироваться. Я бы назвал это довольно недружелюбным к пользователю. Но это всего лишь моя конструктивная критика. Было бы очень полезно обновить библиотеку.
2. Вы правы. Документы — это слабое место pywinauto. Мы работаем над улучшениями для следующего выпуска.