2012-09-02 2 views
1

Im пытается связаться с приложением Windows с помощью python. Необходимо заполнить текстовые поля и получить результаты (которые также отображаются в текстовых полях). В настоящее время используется PywinAuto, работает отлично, но слишком медленно для моей цели. Заполнение 6 текстовых полей и нажатие двух кнопок занимает от 2 до 3 секунд ... Я ищу способ ускорить это.Python: связь с окном

Что является самым быстрым способом управления и получения данных из приложения Windows, что возможно для новичков в Python?

Заранее спасибо.

+0

Это не должно длиться так долго. Не используйте функции поиска, такие как SWQPYAutomation. Pywinauto обычно движется так быстро, что я даже не вижу, что происходит. Таким образом, ваш код может помочь нам настроить его. – 8bitwide

ответ

1

Это очень сложно. PywinAuto - один из лучших способов решения этой проблемы, но вы должны быть очень осторожны в отношении того приложения Windows, с которым работаете. Это связано с тем, что не каждое приложение Windows будет «публиковать» его элементы управления надежным способом для автоматизации. Это особенно верно для Mozilla Firefox. Тем не менее, пакет Microsoft Office делает последовательно публикует практически все элементы управления и кнопки на каждом из интерфейсов, которые я когда-либо видел. Таким образом, реальная проблема заключается не в PywinAuto, а даже в Windows, именно с тем, кто написал приложение, которое вы пытаетесь автоматизировать, и независимо от того, надежно ли они публикуют интерфейсы, которые вы пытались контролировать.

Другой вопрос, который вы зададите себе, - это то, как вы заполняете текстовые поля и что на самом деле занимает время. Заполнение полей и кнопок должно занимать долю секунды, если они независимо работают. В противном случае, возможно, что-то еще происходит, что вы должны исследовать.

Удачи. Это очень сложная проблема.

1

Я использую pywinauto в течение 1,5 лет. И я попробовал множество различных инструментов для автоматизации пользовательского интерфейса. Вы знаете, что, pywinauto не самый медленный среди них.

Ofcource некоторые действия могут занимать длительное фолиант (в секундах), но, как правило, это высокие weith действия, такие как количества детей и т.д.

Пожалуйста, убедитесь, что вы не вызываете findwindows метод, когда он не настоящая необходимость.

Смежные вопросы