Как использовать Automator для вывода окна на передний план?

StackOverflow https://stackoverflow.com/questions/2262841

  •  20-09-2019
  •  | 
  •  

Вопрос

Я использую Mac, OSX 10.6, и у меня есть функция в настольном приложении, которую я хочу автоматизировать.Вручную я нажимаю Command + R, жду, пока приложение прочитает некоторые данные с физического устройства в течение 1 минуты, затем снова нажимаю command + R, чтобы выполнить другое чтение (в этот момент оно спрашивает меня, хочу ли я сохранить данные, поэтому я нажимаю tab, табуляцию, а затем пробел, чтобы выбрать сохранение данных.Я делаю это в общей сложности 3 раза, поэтому я хочу автоматизировать эти 3 раза, чтобы я мог отойти от компьютера, и он автоматически прочитает 3 раза.

Является ли automator лучшим способом сделать это?

Я уже пытался сделать это в automator, используя функцию "смотри, как я делаю".Это начинается с "вывести окно без названия на передний план", а затем выполняется вторая команда - нажмите command + R.Затем я нашел небольшой фрагмент apple script для ожидания 1 минуту и подключил к нему первое действие для функции ожидания.

Однако, когда я нажимаю "Выполнить" или "Шаг", вместо того, чтобы перейти и открыть правильное окно ("Без названия"), курсор перемещается к кнопке мультимедиа в automator и нажимает на нее вместо этого!Но приложение определенно указано как правильное.

Любая помощь приветствуется, но, возможно, automator - это неправильный путь?

Это было полезно?

Решение

Apple Script - это лучший способ работать с вещами, которые не требуют какой-либо "специальной обработки", которая должна была бы выполняться цепочкой различных приложений.

1) запуск утилиты AppleScript убедитесь, что у вас включены графические скрипты в "Утилите AppleScript" 2) с помощью редактора сценариев выберите Файл> Открыть библиотеку и посмотрите, есть ли в вашем приложении какие-либо скриптовые функции...возможно, это лучший способ пойти по этому пути.

3) Создайте новый скрипт и вставьте что-то вроде этого...

tell application "Firefox"
    activate
    delay 1 -- give it time to react

    repeat 3 times
        -- this gives us the keyboard
        tell application "System Events" 
            keystroke "r" using {command down}
        end tell
        delay 6
    end repeat
end tell

Я использовал Firefox, чтобы протестировать это ....должно сработать на вас ....

Получив скрипт, вы можете использовать команду сохранить как, чтобы превратить его в приложение, или сохранить как скрипт в папке ~/ Library / Scripts, или вставить в рабочий процесс automator и запланировать его с помощью iCal.

Другие советы

Я не думаю, что автоматизатор - это лучший вариант.Вы можете использовать applescript, но вам следует взглянуть на сикули.Скрипт Сикули вам нужно будет написать самостоятельно, но то, что вы описываете, не должно составить труда.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top