Что нового

PyAutoItPy - AutoIt в Python

Ахон Вашибака

Новичок
Сообщения
4
Репутация
1
Модуль PyAutoItPy.
Обертка функций AutoIt для работы с окнами и контролам под Python 3.3

Пробрасывает функции из библиотеки AutoItX в питон, позволяя использовать из напрямую из кода на питоне.
Проброшены только функции для работы с окнами и контролами, плюс несколько сопутствующих, ибо все остальные функции
AutoIt есть в самом питоне, и необходимости их пробрасывать нет.

Преимущества:
1. НЕ ТРЕБУЕТ PyWin32, все сделано через стандартный модуль ctypes
2. Максимально соответствует самому языку AutoIt при вызове функций.
3. Работает на 64-битных версиях Windows.
4. Содержит питоновские классы для работы с состоянием окон (они допускают сравнение состояний через операции ">" "<" ">=" "==" "<="), так же массивы и классы, упрощающие работу со значениями координат окон и контролов.
5. Везде в коде постарался написать русские описания методов и классов.

Недостатки:
1. Beta,то есть сыро, возможны глюки и недостатки.
2. Пока нет инсталлятора - в планах.
3. Проброшены не все функции - будет дополняться.
4. Проверено только на Python 3.3, совместимость с более ранними или поздними версиями не гарантируется.
5. Помощь пока в состоянии актуализации - но она скоро будет.

Установка:
Скопировать папку PyAutoItPy в <папка Python>\Lib\site-packages

Использование:

from PyAutoItPy import AutoItX # Импортируем объект AutoItX

Automater = AutoItX() # Инициализируем объект AutoItX, он подгрузит и настроит соотв. dll AutoIt.

isMyWindow = Automater.WinExists('WindowTitle', 'WindowText') # Все функции доступны как методы объекта AutoItX, их имена соответствуют языку AutoIt. Тут мы проверяем наличие окна.
if isMyWindow: # Шалим
print('Success!')

Лежит тут:
https://github.com/AhonVashibaka/PyAutoItPy

Автор: моя скромная персона, e-mail: [email protected]

Предложения и вопросы лучше по почте, но и сюда постараюсь заходить.
Модуль и помощь по нему будут дописываться и расширяться.
В исходном коде модуля все прокомментировано - можно почитать.
Версия AutoItX.dll в модуле - 3.3.12.0
 
Автор
А

Ахон Вашибака

Новичок
Сообщения
4
Репутация
1
0.9.6 beta
1. Исправил критичную ошибку с возвратом неверного результата у WinGetHandle.
2. Добавил пример с комментариями на русском языке: example_rus.py.
 
Автор
А

Ахон Вашибака

Новичок
Сообщения
4
Репутация
1
Очередные исправления и дополнения:
1. Исправлен метод WinActive - он не работал, теперь работает.
2. Изменено значение по-умолчанию для свойства и параметра контруктора "Text" у классов WinParams и ControlParams с None на '' (пустая строка).
3. Исправлена выдача результата у декоратора AutoItCall в режиме "TRUE-FALSE". Теперь все значения больше нуля заставляют декоратор вернуть True, ноль - False.
4. Добавлен метод WinWaitActivePing. Метод ждет наступления состояния активноти у заданного окна в рамках заданного таймаута, периодически (раз в секунду) принудитеьно активируя это окно.
5. При формировании свойства StringID класса WinParams теперь учитывается значение свойства Handle. Таким образом, если, кроме прочих, задано свойство Handle, то StringID становится персонифицированным строковым идентификатором конкретного окна.
 
Автор
А

Ахон Вашибака

Новичок
Сообщения
4
Репутация
1
Очередные изменения и исправления в модуле:

1. Исправлены методы: ControlGetHandle, ControlGetText, ControlGetPos,
ControlGetFocus.
Актуализированы под работу с новой dll.

2. Добавлены методы: ControlGetHandleInt, ControlGetTextByHandle,
ControlGetPosByHandle, ControlGetFocusByHandle.
Первый выдает числовое значение Handle контрола, остальные позволяют его использовать для соотв. действий.
 

Pic@sso

Новичок
Сообщения
7
Репутация
0
Интересная тема ! Возникает вопрос! А можно ли эти "вещи" прикрутить к Python в Linux системе ?
 
Верх