Автор Тема: PyAutoItPy - AutoIt в Python  (Прочитано 9321 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ахон Вашибака [?]

  • Новичок
  • *
  • Сообщений: 4
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
PyAutoItPy - AutoIt в Python
« Создано: Август 15, 2014, 14:14:51 »
Модуль 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 [nonactive]

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

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

Русское сообщество AutoIt

PyAutoItPy - AutoIt в Python
« Отправлен: Август 15, 2014, 14:14:51 »

Оффлайн Ахон Вашибака [?]

  • Новичок
  • *
  • Сообщений: 4

  • Автор темы
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: PyAutoItPy - AutoIt в Python
« Ответ #1, Отправлен: Август 18, 2014, 12:34:41 »
0.9.6 beta
1. Исправил критичную ошибку с возвратом неверного результата у WinGetHandle.
2. Добавил пример с комментариями на русском языке: example_rus.py.

Оффлайн Ахон Вашибака [?]

  • Новичок
  • *
  • Сообщений: 4

  • Автор темы
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: PyAutoItPy - AutoIt в Python
« Ответ #2, Отправлен: Август 19, 2014, 16:09:04 »
Очередные исправления и дополнения:
1. Исправлен метод WinActive - он не работал, теперь работает.
2. Изменено значение по-умолчанию для свойства и параметра контруктора "Text" у классов WinParams и ControlParams с None на '' (пустая строка).
3. Исправлена выдача результата у декоратора AutoItCall в режиме "TRUE-FALSE". Теперь все значения больше нуля заставляют декоратор вернуть True, ноль - False.
4. Добавлен метод WinWaitActivePing. Метод ждет наступления состояния активноти у заданного окна в рамках заданного таймаута, периодически (раз в секунду) принудитеьно активируя это окно.
5. При формировании свойства StringID класса WinParams теперь учитывается значение свойства Handle. Таким образом, если, кроме прочих, задано свойство Handle, то StringID становится персонифицированным строковым идентификатором конкретного окна.

Оффлайн Ахон Вашибака [?]

  • Новичок
  • *
  • Сообщений: 4

  • Автор темы
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: PyAutoItPy - AutoIt в Python
« Ответ #3, Отправлен: Сентябрь 08, 2014, 17:52:01 »
Очередные изменения и исправления в модуле:

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

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

Русское сообщество AutoIt

Re: PyAutoItPy - AutoIt в Python
« Ответ #3 Отправлен: Сентябрь 08, 2014, 17:52:01 »

Оффлайн [email protected] [?]

  • Новичок
  • *
  • Сообщений: 7
  • Репутация: 0
    • Награды
Re: PyAutoItPy - AutoIt в Python
« Ответ #4, Отправлен: Август 07, 2016, 21:08:58 »
Интересная тема ! Возникает вопрос!  А можно ли эти "вещи" прикрутить к Python в Linux системе ?

Русское сообщество AutoIt

Re: PyAutoItPy - AutoIt в Python
« Ответ #4 Отправлен: Август 07, 2016, 21:08:58 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
14 Ответов
55347 Просмотров
Последний ответ Апрель 28, 2012, 12:36:49
от CreatoR
22 Ответов
19954 Просмотров
Последний ответ Июль 23, 2013, 14:31:12
от CreatoR
2 Ответов
9266 Просмотров
Последний ответ Ноябрь 16, 2009, 09:13:26
от Suppir
12 Ответов
23159 Просмотров
Последний ответ Август 27, 2011, 20:09:15
от Nero21
30 Ответов
14787 Просмотров
Последний ответ Апрель 02, 2012, 03:44:53
от Garrett
4 Ответов
5205 Просмотров
Последний ответ Июль 12, 2012, 11:06:51
от firex
1 Ответов
2757 Просмотров
Последний ответ Июль 18, 2012, 14:45:06
от Yashied
13 Ответов
7197 Просмотров
Последний ответ Март 18, 2014, 20:37:37
от Viktor1703
9 Ответов
3337 Просмотров
Последний ответ Август 27, 2014, 18:04:47
от Zud120
2 Ответов
234 Просмотров
Последний ответ Июнь 26, 2017, 10:47:12
от _serfer_78_