Автоматизация рутины в OS X. Урок 18. Используем элементы графического интерфейса в JavaScript Automation

Автоматизация рутины в OS X. Урок 18. Используем элементы графического интерфейса в JavaScript Automation

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

Описанные ниже приемы взаимодействия с пользователем работают во всех приложениях, для которых предусмотрена возможность написания автоматизирующих скриптов. Полную техническую документацию по этой теме можно просмотреть в Редактор скриптов -> Библиотека -> StandardAdditions.

Документацию по 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» вы можете найти по следующим ссылкам:

Рекомендуемые статьи:


✅ Подписывайтесь на нас в Telegram, ВКонтакте, и Яндекс.Дзен.



Добавить комментарий