Arrastre para convertir Automator Action en Applescript

En Automator, hay una manera de convertir rápidamente una Acción en su Applescript equivalente en Automator, creo que arrastrándola de alguna manera complicada. Vi esto hace algún tiempo, pero ahora lo he olvidado. He intentado buscar y no lo encuentro.

Probablemente porque no es posible. Los comandos de AppleScript y las acciones de Automator son diferentes, algunas aplicaciones pueden admitir uno mientras que el otro no. Ambos son para hacer tareas repetitivas, pero diferentes.

Respuestas (3)

Por si alguien tiene esta duda, la encontré, pero solo sirve para acciones grabadas.

Después de registrar algunos clics u otras acciones en Automator, aparecen en una acción "Mírame hacer". Luego puede hacer clic y arrastrar una acción individual fuera de esa Acción y soltarla cuando aparezca el signo +. Automator agregará una acción "Ejecutar AppleScript" con AppleScript que envía los mismos clics y pulsaciones de teclas a Eventos del sistema.

También puede simplemente copiar la acción que desee, cambiar al editor de AppleScript y pegar para obtener el mismo código.

Ejemplo: el evento "Click Skype in the Dock" se convierte en el siguiente AppleScript:

on run {input, parameters}
    -- ClickSkypein the Dock.
    delay 7.872251
    set timeoutSeconds to 2.000000
    set uiScript to "click UI Element \"Skype\" of list 1 of application process \"Dock\""
    my doWithTimeout( uiScript, timeoutSeconds )
    return input
end run

on doWithTimeout(uiScript, timeoutSeconds)
    set endDate to (current date) + timeoutSeconds
    repeat
        try
            run script "tell application \"System Events\"
" & uiScript & "
end tell"
            exit repeat
        on error errorMessage
            if ((current date) > endDate) then
                error "Can not " & uiScript
            end if
        end try
    end repeat
end doWithTimeout

Cómo convertir eventos grabados en Automator:

Haga clic en un evento y arrastre para crear una nueva acción Automator convierte el evento a Applescript

Voté a favor de esto por sus méritos de cómo recopilar el código AppleScript de una acción de Watch Me Do, sin embargo, dijo: " También puede simplemente copiar la acción que desee, cambiar al Editor de AppleScript y pegar para obtener el mismo código ". y mientras esto puede ser cierto en algunos casos; sin embargo, no lo es en algunos casos, ya que el código AppleScript no siempre se puede copiar exactamente de Automator de esta manera al editor AppleScript y ejecutarse correctamente sin modificar el código.

Es imposible. Puede realizar acciones similares en AppleScript, pero no hay forma de convertir un script de Automator existente a AppleScript.

En general, puede ser cierto (no lo sé), pero es posible para las acciones registradas ("Mírame hacer"); mira mi solución a continuación.

Cree su archivo Automator como un tipo de "Aplicación".

Dígale a su AppleScript que ejecute su aplicación Automator.

Algo como:

open "/Users/george/AutomatorFiles/MyScript.app"

¡Funciona para mi!

Eso también es útil, aunque no exactamente lo que estaba buscando, que era ver el código para poder entenderlo y reutilizarlo.