Автоматизация рутины в OS X. Урок 18. Используем элементы графического интерфейса в JavaScript Automation
Выполнение многих сложных автоматизирующих скриптов требует периодического получения согласия пользователя на определенные действия, ввода какой-то информации или отправки уведомлений. Для этих целей применяются элементы графического интерфейса, которые можно использовать в любой программе, написанной на JavaScript Automation.
Описанные ниже приемы взаимодействия с пользователем работают во всех приложениях, для которых предусмотрена возможность написания автоматизирующих скриптов. Полную техническую документацию по этой теме можно просмотреть в Редактор скриптов -> Библиотека -> StandardAdditions.
Как спросить у пользователя какую-то информацию?
Для получения данных от пользователя в JavaScript Automation используется метод displayDialog(). Вот простейшая демонстрация его возможностей:
//Кладем в переменную приложение, в котором будет отображаться диалоговое окно app = Application("Mail"); // Включаем использование методов из StandardAdditions, которые необходимы для работы с элементами графического интерфейса app.includeStandardAdditions = true; // Создаем пустую переменную, в которую мы положим данные введенные пользователем var userName=""; // Создаем диалоговое окно для ввода имени пользователя var userName = app.displayDialog('Введите ваше имя', { // Указываем заголовок диалогового окна withTitle: 'Контактная информация', // И ответ по умолчанию defaultAnswer: "Иван" }); // Присваиваем переменной userName окончательное значение — имя которое ввел пользователь userName = userName.textReturned;
Как получить от пользователя ответ в формате да/нет?
А для этой цели будем использовать метод displayAlert():
// Объявляем переменную для хранения ответа пользователя var userCheck; // Отображаем диалоговое окно с уточнением имени пользователя var userCheck = app.displayAlert("Вас действительно зовут " + userName + "?", {buttons: ["Да", "Нет"]}); // Присваиваем переменной userCheck значение - ответ пользователя userCheck=userCheck.buttonReturned;
Как спросить у пользователя цвет?
Это можно сделать с помощью метода chooseColor():
var userColor = app.chooseColor();
Как сделать окно для выбора файла?
Открыть Finder и предоставить пользователю возможность выбрать файл можно с помощью метода chooseFile(). Пример:
// Кладем в переменную приложение Pages app = Application("Pages"); // Включаем возможность использовать элементы графического интерфейса app.includeStandardAdditions = true; //Включаем окно выбора файла var textFile = app.chooseFile(); //Открываем выбранный файл app.open(textFile);
Как отобразить простое текстовое уведомление?
И снова на помощь приходит displayAlert():
app.displayAlert("УРА!!!!");
Предыдущие публикации из цикла «Автоматизация рутины в OS X» вы можете найти по следующим ссылкам:
- Автоматизация рутины в OS X. Урок 1. Пакетная обработка изображений
- Автоматизация рутины в OS X. Урок 2. Генерация слайдов для презентаций
- Автоматизация рутины в OS X. Урок 3. Рассылаем спам
- Автоматизация рутины в OS X. Урок 4. Простейший парсинг почтового ящика
- Автоматизация рутины в OS X. Урок 5. Пакетная конвертация текстовых файлов
- Автоматизация рутины в OS X. Урок 6. Простейший парсинг веб-страниц
- Автоматизация рутины в OS X. Урок 7. Пакетная конвертация видео и аудио
- Автоматизация рутины в OS X. Часть 8. Архивируем и анализируем записи из «Заметок»
- Автоматизация рутины в OS X Часть 9. Пакетная архивация файлов
- Автоматизация рутины в OS X. Урок 10. Анализируем собственную продуктивность
- Автоматизация рутины в OS X. Часть 11. Автоматизируем показ презентаций
- Автоматизация рутины в OS X. Урок 12. Работаем с электронными таблицами
- Автоматизация рутины в OS X. Урок 13. Основы работы с Pages
- Автоматизация рутины в OS X. Урок 14. Редактирование изображений с помощью Image Magick
- Автоматизация рутины в OS X. Урок 15. iMacros
- Автоматизация рутины в OS X. Урок 16. Java Script Automation+Terminal+Apple Script = Сила
- Автоматизация рутины в OS X. Урок 17. QuickTime Player
Рекомендуемые статьи:
- Приложение не удаляется в iOS — что делать
- Как поставить пароль в iOS 10
- Как поменять аккумулятор на iPhone 6s
✅ Подписывайтесь на нас в Telegram, ВКонтакте, и Яндекс.Дзен.