Как использовать Automator для вывода окна на передний план? - PullRequest
4 голосов
/ 15 февраля 2010

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

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

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

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

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

Ответы [ 2 ]

4 голосов
/ 16 февраля 2010

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 или вставить в рабочий процесс автоматизатора и запланировать его с помощью iCal.

1 голос
/ 15 февраля 2010

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

...