Use Applescript para seleccionar un elemento del menú de servicios de una aplicación

0

Tengo un applecript que forma parte de un flujo de trabajo de Automator. Esto funcionó bien en el pasado, pero no lo he usado en mucho tiempo, y por alguna razón ya no funciona. Aquí está el código ...

tell application "TextEdit"
activate
delay 2
end tell

tell application "System Events"
tell application process "TextEdit"
    keystroke "a" using command down --select all the text
    keystroke "c" using command down --copy all the text
    tell menu bar 1
        tell menu bar item "TextEdit"
            tell menu "TextEdit"
                --need to allow time for the menu to be displayed
                delay 0.2
                tell menu item "Services"
                    tell menu "Services"
                        --need to allow time for the menu to be displayed
                        delay 0.2
                        display dialog "I'm here #1"
                        -- tell menu item "Scrivener: Make New Clipping"
                        --need to allow time for the menu to be displayed                                   
                        delay 0.2
                        display dialog "I'm here #2"
                        tell menu item "Scrivener: Make New Clipping"
                            --click menu item "Scrivener: Make New Clipping"
                            click
                        end tell
                        display dialog "I'm here #3"
                        -- end tell
                        -- end tell
                    end tell
                end tell
            end tell
        end tell
    end tell
end tell  

Esto es lo que sé.

  1. Los diálogos "Estoy aquí # 1" y "Estoy aquí # 2" aparecen como se esperaba. El proceso falla antes de mostrar "Estoy aquí # 3".
  2. El servicio "Scrivener: Make New Clipping" funciona como se espera cuando se selecciona en el menú de servicios cuando se ejecuta solo fuera de este applecript. La ortografía del nombre del servicio es correcta.
  3. Este script selecciona y copia el texto como se espera, por lo que la opción Scrivener aparece en el menú de servicios para que pueda seleccionarse.
  4. Estoy ejecutando la misma versión de Scrivener que funcionaba anteriormente.
  5. Podría haber estado ejecutando Mavericks la última vez que esto funcionó. Ahora estoy en El Capitán.

Como he dicho. Funcionó en el pasado pero no funciona ahora. ¿Alguna idea?

    
pregunta Matt Shalvatis 16.04.2018 - 14:49

0 respuestas

Lea otras preguntas en las etiquetas