Форум сайта python.su
Но это консольное приложение на C#, там такой подход наверное не подойдёт..
Вот пример кода:
from pywinauto.application import Application app = Application.start("notepad.exe") app.UntitledNotepad.TypeKeys("Привет мир!")
Отредактировано Tiberium (Июль 1, 2015 18:47:48)
Офлайн
Но это консольное приложение на C#, там такой подход наверное не подойдёт.. Извини, но мы с коллегами поржали немного.
.
В версии 0.5.1 проблем с pip больше не должно быть. Примером для русского языка займусь попозже. Можешь глянуть в репозитории examples/test_sakura.py (на японском) и сделать по аналогии на русском. Ключевая строка - самая верхняя в шапке.
.
В августе займусь плотнее документацией.
Отредактировано vvryabov (Июль 14, 2015 23:12:08)
Офлайн
vvryabov
Коль вы мониторите тему здесь, то здесь и спрошу.
Посмотрите пожалуйста вот на эту запись моего блога. Если вам нравится этот функционал. м.б. я подготовлю для проекта pull-request ? Добавив функцию как метод класса Application ?
Офлайн
JOHN_16
Да, я видел эту запись раньше. Тут есть пара нюансов. Не хочется добавлять новую зависимость от psutil. Кроме того, в методе start_ есть in-place функция AppIdle()
. Логичнее было бы на её основе сделать общедоступный метод WaitAppIdle(), добавив заодно параметр timeout.
.
Ещё один вопрос, сильно ли это отличается от вызова вроде app.Dialog.Wait('ready', timeout=300)
. На первый взгляд практически ничем. Надо только в доках всю эту методику подробней расписать.
.
А так любой полезный и обоснованный contribution мы приветствуем.
Отредактировано vvryabov (Июль 17, 2015 11:50:05)
Офлайн
Вышел релиз 0.5.2 с методами класса Application: CPUUsage() и WaitCPUUsageLower(). Появилось 2 новых примера на install/uninstall вот здесь: https://gist.github.com/vasily-v-ryabov
Офлайн
Я использую Python3/pywinauto/и сама апликуха - все 64. вылетает ошибка на строке
tree_item = systreeview.GetItem()
Не подскажите как решить или подскажите место , где можно узнать отвт. На 32 апликухе все летало.
Спасибо
log: File “C:\Python36\lib\site-packages\pywinauto\controls\common_controls.py”, line 1523, in get_item texts = File “C:\Python36\lib\site-packages\pywinauto\controls\common_controls.py”, line 1523, in texts = File “C:\Python36\lib\site-packages\pywinauto\controls\common_controls.py”, line 960, in text return self._readitem() File “C:\Python36\lib\site-packages\pywinauto\controls\common_controls.py”, line 1383, in _readitem remote_mem) ctypes.ArgumentError: argument 4: : int too long to convert
Офлайн
Ошибка интересная. Эта функциональность хорошо тестируется автоматически, в том числе на 64-битных приложениях и Python 3.6. Пока не пробовал воспроизвести, т.к. очень занят. Но если есть возможность приватно расшарить аппликуху (готов подписать NDA, если нужно), то можно высылать на gmail почту (в нике на гитхабе заменить чёрточки на точки). Так, возможно, будет быстрее воспроизвести.
P.S. Ну, и для всех напомню, что pywinauto 0.6.2, вышедший в феврале, поддерживает еще и MS UI Automation (backend='uia' при создании Application), а это гораздо более широкий спектр приложений. Пока отсылаю к Getting Started Guide в доках на сайте. Статья на Хабр готовится.
Офлайн
А часом там не 32 разрядный питон под 64 разрядной виндой?!
Офлайн
Сорри за молчание, у нас выходной был. Дать доступ хотел бы , но не могу.
//А часом там не 32 разрядный питон под 64 разрядной виндой?!//
Нет, все 64. Даже менял 2,7 на 3,6 и обратно (все 64). Все бежит хорошо, пока не касается treeview.
Update. Лечится строкой
win32functions.SendMessage.argtypes = квадратные скобки HWND, UINT, WPARAM, ctypes.c_void_p квадратные скобки
vvryabov, куда ее вставить?
Отредактировано algoriatchev (Май 30, 2017 22:10:08)
Офлайн
А, понятно. Это из-за того, что во многих местах мы перешли на аналогичную функцию из pyWin32 расширений, но где-то остался вызов через ctypes. Можно прямо в win32functions.py вставить (повлияет на все подобные вызовы в лучшую сторону... надеюсь) и посмотреть, сойдутся ли тесты на AppVeyor (pull request автоматически тестится). Как раз есть шанс фиксу попасть в готовящийся 0.6.3. По мелочи там много выгребли нестабильностей и неточностей, в том числе в win32 бэкенде. Кстати, если не лень будет проверить текущий мастер бранч на большом проекте, это была бы полезная инфа. Хоть покрытие тестами и около 95% держим, corner cases всё равно периодически вылезают.
Офлайн