AutoIt v3 — это бесплатный язык сценариев, подобный BASIC, разработанный для автоматизации графического интерфейса Windows и общих сценариев. Он использует комбинацию смоделированных нажатий клавиш, движения мыши и манипуляций с окном / элементами управления, чтобы автоматизировать задачи способом, невозможным или надежным с другими языками (например, VBScript и SendKeys). AutoIt также очень маленький, самодостаточный и будет работать на всех версиях Windows «из коробки» без раздражающих «сред выполнения»!
Пожалуй лучшего описания не стоит искать или придумывать.
Эта статья будет дополняться по мере моего познания этого языка.
У меня возникла идея управлять Windows программой с помощью веб-сайта. Чтение информации в интернете приводило к ступору, а точнее моя неправильная формулировка запроса поиска. Но вот спустя пару дней я нашел этот язык и решил попробовать автоматизировать процесс.
Часть 1
- Для начала скачаем AutoIt с оф.сайта https://www.autoitscript.com/site/autoit/downloads
- Установка простая, просто жмем Next
- Русскоязычное сообщество где можно почерпнуть информацию или спросить совет https://autoit-script.ru
Теперь обрисую полную задачу и нужные компоненты:
Selenium Framework for Beginners 33 | What is AutoIT | How to use AutoIT with Selenium
Веб-форма (php) отправляет запрос на сервер (Windows или Linux), сервер обрабатывает полученную информацию и записывает ее в текстовый файл и запускает AutoIt. AutoIt в свою очередь забирает информацию с файла и проводит нужные операции что заданы в скрипте, после чего результат отправляется обратно на сайт.
Для начала возьмем exe файл и посмотрим возможные операции с ним. Для примера я взял популярный генератор паролей для видеорегистраторов.
Есть 2 активных поля ( DATE и PASSWORD ) и 2 кнопки ( OK и Cancel ). В поле DATE вводим дату в формате Год Месяц День, затем жмем ОК, и получаем свой PASSWORD .
Таким образом алгоритм работы становится понятным для нас, но нужно перевести все это в скриптовый вариант.
- Создаем новый скрипт
- Запускаем утилиту AutoIt Window Info для получения информации об активных окнах в системе
Теперь следует получить информацию о программе ( в данном варианте это Super Password ).
Чтобы узнать название программы выбираем кнопку Finder Tool что отмечена и зажимая левую кнопку мышки переводим курсор в поле окна программы. В итоге показывается название программы.
- Run(«SuperPassword.exe»)
Запускает программу в обычном режиме. Команда Run имеет дополнительные флаги для запуска, вот их описание https://autoit-script.ru/docs/functions/run.htm - WinWaitActive(«Super Password»)
Указываем что нужно ожидать активное окно с названием Super Password - ControlClick(«Super Password», «», «[ID:1002]»)
Теперь следует активировать окно DATE . Во вкладке Control находим ID окна (1002) - ClipPut(FileReadLine(«input.txt»))
Поскольку в поле нужно ввести данные, предварительно создадим текстовый файл input.txt со следующим содержимым: 20201016 . Помните еще о Год Месяц День ? - send(ClipGet())
Теперь вставим данные 20201016 с текстового документа в поле DATE . Отлично, мы получаем данные с файла input.txt , затем вставляем их в форму DATE , и на выходе имеем сгенерированный ключ в поле PASSWORD - Send(«»)
Чтобы отправить команду генерации пароля можно нажать кнопку OK или просто нажать Enter - Создадим файл в который будет производится запись результата с поля PASSWORD .
- $key = ControlGetText(‘Super Password’, », ‘[CLASS:Edit; INSTANCE:2]’)
Забираем нужные данные с поля PASSWORD . Создаем переменную $key которая будет содержать данные нужной формы.
Снова получаем свойство окна, но теперь в другом формате. Вы можете использовать разные методы получения данных с окна в зависимости от программы и окон что она формирует.
- FileWrite(«output.txt», $key)
Запишем данные в файл output.txt - WinClose(«Super Password», «»)
Закроем окно программы после успешного выполнения кода.
Как выглядит полный скрипт
Run(«SuperPassword.exe»)
WinWaitActive(«Super Password»)
ControlClick(«Super Password», «», «[ID:1002]»)
ClipPut(FileReadLine(«input.txt»))
send(ClipGet())
Send(«»)
$key = ControlGetText(‘Super Password’, », ‘[CLASS:Edit; INSTANCE:2]’)
FileWrite(«output.txt», $key)
WinClose(«Super Password», «»)
Или его можно Скачать
Теперь превратим скрипт в exe файл который можно запускать в среде Windows.
Для этого запускаем утилиту с названием Compile Script to и указываем файл скрипта что мы сделали выше , и нажимаем Convert
Часть 2
Для управления со стороны Windows будем использовать Open Server https://ospanel.io. Это позволит запускать скрипты AutoIt и одновременно настроить Apache и Php для работы web-сервера.
Примечание: web-сервер может быть настроен и на Linux, это не имеет значения.
После скачивания и установки программы приступим к ее настройке.
- В папке openserver→ OSPanel→ domains создадим адрес нашего сайта. Для примера это будет test.saniaowner.space . Теперь создадим вложенную папку test и добавим в нее файлы которые создали в первой части. Это должно выглядеть вот так
- Настроим домен в автоматическом режиме. Чтобы создать домен или поддомен откройте [Меню → Папка с сайтами] и создайте папку с именем будущего домена. После создания домена перезапустите сервер.
Чтобы сайт был доступен в интернете обязательно нужен домен. Я рекомендую использовать проверенный и надежный домен который не подводит в сложные моменты.
Немного отступление от темы. Как то ночью мне не спалось и полез я редактировать настройки на хостинге. По итогу через пол часа сайт прилег, и не подавал признаков жизни. Обращение в тех. поддержку в 3 ночи решило вопрос за 10 мин (5 мин ждал ответ оператора и 5 мин пока настройки применились). В общим судите сами о тех.поддержке хостинга и моем нубстве.
- Теперь создадим HTML форму в которой будем вводить данные для генерации пароля
Введите текущий Год Месяц День: » placeholder=»» name=»pass» /required>
Небольшое объяснение этой формы.
forma_.php — вызываем страницу которая содержит основной код.
type 10″ — размер 10.
pattern=»[0-9]» — ограничение чтобы вводить только цифры от 0 до 9, общим количеством 8. То есть не больше 8, не меньше 8, ровно 8. Поскольку полная дата состоит из 8 цифр ( 2020 10 18).
placeholder=»» — отображает текущую дату (Год Месяц День) в поле ввода.
name=»pass» — имя формы.
/required — данные заполнить обязательно, иначе не получится отправить форму
Постарался максимально подробно дать комментарии для каждой строки.
Должно получится вот так
- Если нужно вставить этот скрипт на другом сайте можно использовать Iframe
saniaowner|Pass
Источник: saniaowner.space
AutoIt – автоматизация рутинных действий на компьютере
AutoIt – бесплатная программа, работа которой основана на использовании специального скриптового языка. Она дает возможность писать сценарии и автоматизировать различные задачи на ПК с ОС Windows.
Скачать AutoIt для Windows (7/8/10)
Версия: 3.3.14.2.
Основные функции
- простой для изучения синтаксис наподобие Basic;
- эмуляция движений компьютерной мыши и нажатий клавиш;
- управление процессами;
- управление окнами активных приложений;
- запуск определенных действий с помощью нажатия горячих клавиш;
- создание GUI – графического интерфейса пользователя;
- работа с реестром, буфером обмена, сетью;
- обработка функций, циклов, логических условий и др.
Преимущества и недостатки
- бесплатное распространение;
- небольшой размер и независимость;
- простой синтаксис;
- поддержка юникода;
- редактор с подсветкой синтаксиса;
- имитация перемещений курсора, нажатий клавиш в любом приложении;
- взаимодействие с элементами управления даже в неактивных окнах.
- нужно потратить определенное время на изучение языка.
Аналоги
AutoHotkey. Бесплатный набор профессиональных инструментов для автоматизации работы на ПК. Данная программа самодостаточна, умеет настраивать нажатие комбинаций клавиш, обладает собственным языком программирования. Все это дает возможность создавать сложные последовательности операций и графические диалоговые окна.
Также в программе можно использовать COM, с помощью чего осуществляется управление другими приложениями. Но в этом решении есть и свои минусы: отсутствие редактора с подсветкой синтаксиса и невозможность отладить скрипты.
xStarter. Бесплатная программа-автоматизатор, в которой смогут разобраться даже начинающие пользователи. В ее визуальном конструкторе можно записывать последовательность действий. Также есть возможность создания графического интерфейса, диалоговых окон. В программе присутствует планировщик задач.
Из минусов: не всегда правильная простановка клавиатурной раскладки, отсутствие функции текстового программирования операций.
Принципы работы
Для того чтобы создать скрипт, назначьте для него папку и установите AutoIt. Нажмите на свободное пространство в этой папке и отметьте пункты «Создать», «AutoIt v3 Script»:
Создание скрипта
Затем задайте название для скрипта, после чего откройте его для написания команд, вызвав контекстное меню и выбрав пункт «Edit Script». После этого должен открыться редактор для программы – SciTe:
Редактор для программы
Поначалу скрипт будет пустым. Комментарии в нем выделяются зеленым цветом. Существуют одно- и многострочные комментарии.
Чтобы добавить в скрипт возможность отображения текста, примените функцию «MsgBox», введя в конце файла строку MsgBox(0, «Tutorial», «Hello World!»). Значения, указанные в скобках, являются параметрами функции.
Запустить файл можно двумя способами:
1. Через контекстное меню:
Запуск скрипта
2. Через редактор:
Запуск через редактор
Чтобы узнать, как работать с файлами в программе, предлагаем посмотреть видео:
AutoIt – функциональная программа для написания скриптов.
Источник: softikbox.com
AutoIt
AutoIt — это бесплатное программное обеспечение язык программирования для Microsoft Windows. В своем самом раннем выпуске он был в первую очередь предназначен для создания сценариев автоматизации (иногда называемых макросами ) для программ Microsoft Windows, но с тех пор он расширился, чтобы включить улучшения как в дизайн языка программирования, так и в общую функциональность.
язык сценариев в AutoIt 1 и 2 был основан на операторах и разработан в основном для имитации взаимодействия с пользователем. Начиная с версии 3, синтаксис AutoIt аналогичен синтаксису семейства языков BASIC. В этой форме AutoIt представляет собой универсальный язык программирования третьего поколения с классической моделью данных и вариантным типом данных, который может хранить несколько типов данных, включая массивы.
Сценарий автоматизации AutoIt можно преобразовать в сжатый автономный исполняемый файл, который можно запускать на компьютерах, даже если на них не установлен интерпретатор AutoIt. Широкий спектр библиотек функций (известных как UDF или «определяемые пользователем функции») также включен в стандартную комплектацию или доступен на веб-сайте для добавления специализированных функций. AutoIt также распространяется с IDE на основе бесплатного редактора SciTE. Компилятор и текст справки полностью интегрированы и обеспечивают де-факто стандартную среду для разработчиков, использующих AutoIt.
Возможности
Значок формата файла AU3
- Язык сценариев с BASIC-подобной структурой для Windows
- Компиляция в отдельные исполняемые файлы
- Дополнительные библиотеки и модули для конкретных приложений
- Поддерживает TCP и UDP протоколы
- Поддерживает компонентную объектную модель (COM)
- Вызов функций в файлах DLL
- Запуск консольных приложений и доступ к стандартным потокам
- Включать файлы данных в скомпилированный файл для извлечения при запуске
- Создание графических пользовательских интерфейсов, включая окна сообщений и ввода
- Воспроизведение звуков, пауза, возобновление, остановка, поиск, получение текущей позиции звука и длины звука
- Имитировать движения мыши
- Управлять окнами и процессами
- Автоматизировать использование отправки r ввод и нажатия клавиш для приложений, а также для отдельных элементов управления в приложении
- Поддержка Unicode с версии 3.2.4.0
- Поддержка 64-битного кода с версии 3.2.10.0
- Поддерживает регулярные выражения
- Совместимость с User Account Control
- Объектно-ориентированный дизайн с помощью библиотеки
Использование
AutoIt обычно используется для создания служебное программное обеспечение для Microsoft Windows и для автоматизации рутинных задач, таких как управление системой, мониторинг, обслуживание или установка программного обеспечения. Он также используется для имитации взаимодействия с пользователем, посредством чего приложение «управляется» (посредством автоматического ввода формы, нажатия клавиш, щелчков мыши и т. Д.) Для выполнения действий с помощью сценария AutoIt.
AutoIt также может использоваться в недорогой лабораторной автоматизации. Приложения включают синхронизацию приборов, мониторинг сигналов тревоги и сбор результатов. Также можно управлять такими устройствами, как маршрутизаторы с ЧПУ и 3D-принтеры.
Примеры
Hello world
Автоматизация калькулятора Windows
Найти среднее
История
- Январь 1999 г. — Первая версия AutoIt (1.0)
- Август 1999 г. — AutoIt v2 и AutoItX
- сентябрь 1999 г. — первая версия AutoIt с компилятором
- декабрь 2002 г. — AutoIt v3 (общедоступная бета)
- февраль 2004 г. — AutoIt v3 (стабильный)
- сентябрь 2006 г. — Auto3Lib запущен
- ноябрь 2007 г. — выпущен AutoIt v3.2.10.0, Auto3Lib включен в AutoIt v3
- Май 2008 г. — выпущен AutoIt v3.2.12.0, включающий дополнительные функции графического интерфейса
- Декабрь 2008 г. — выпущен AutoIt (и AutoItX) v3.3.0.0
- декабрь 2009 г. — выпущен AutoIt v3.3.2.0
- Январь 2010 г. — выпущен AutoIt v3.3.4.0
- Март 2010 г. — выпущен AutoIt v3.3.6.0
- Апрель 2010 г. — выпущен AutoIt v3.3.6.1
- декабрь 2011 г. — выпущен AutoIt v3.3.8.0
- Январь 2012 г. — выпущен AutoIt v3.3.8.1
- Декабрь 2013 г. — выпущен AutoIt v3.3.10.0
- Июнь 2014 г. — выпущен AutoIt v3.3.12.0
- Июль 2015 — Выпущены AutoIt v3.3.14.0 и v3.3.14.1
- сентябрь 2015 г. — выпущен AutoIt v3.3.14.2
- февраль 2018 г. — выпущен AutoIt v3.3.14.3
- Март 2018 — выпущен AutoIt v3.3.14.5
Разработчики AutoIt первоначально выпустили исходный код под Стандартной общественной лицензией GNU (GPL), но эта практика была прекращена, начиная с версии 3.2.0 в августе 2006 г. В соответствии с условиями GPL часть кода из версии 3.1 была использована для создания вилки в проекте AutoHotkey, где сообщество продолжает разрабатывать и выпускать код под GPL.
См. Также
- AutoHotkey
- Automator (для Macintosh)
- Expect
- Keyboard Maestro (для Macintosh)
- KiXtart
- iMacros
- Macro Express
- thinBasic
- Winbatch
Ссылки
Внешние ссылки
- Официальный сайт
Источник: alphapedia.ru