1 votos

Ayuda de Automator: hacer una captura de pantalla de posición fija, hacer clic en "Página siguiente" y repetir (¡ya está!)

No conozco el código, lo cual es realmente vergonzoso para tareas sencillas como ésta. Todo lo que estoy tratando de hacer es una acción rápida en Automator para esto:

  1. tomar una captura de pantalla a partir de dos puntos fijos
  2. hacer clic en el botón "siguiente" de una aplicación (en mi caso, Kindle para Mac)
  3. Repetir X veces

Advertencia (si es pertinente): mis capturas de pantalla están en formato JPG (no PNG).

Aunque mi "mírame hacer" fue no exitoso, el proceso de grabación me capturó presionando el botón de avance de página de la aplicación que veo que se llama "Página siguiente".

Una solución sería utilizar CliClick para pulsar el botón de avance, si el cual ya tengo instalado si "Página siguiente" puede no funcionar por cualquier razón. La repetición de la captura de pantalla sería un par de coordenadas predefinidas basadas en la parte superior izquierda y la inferior derecha (que puedo obtener a través de CMD+SHIFT+4).

Muchas gracias de antemano. Cualquier método para realizar esto en Automator me parece bien. ¡Saludos!

EDIT 1: añadido el código de @ankii aquí abajo EDIT 2: eliminado lo que se añadió en el EDIT 1 (ya no es relevante)

1voto

user3439894 Puntos 5883

Kindle no es AppleScript scriptable en el sentido de que no contiene un AppleScript diccionario dentro de su paquete de aplicaciones Sin embargo, dentro de unos límites, utiliza Eventos del sistema y Guiones de interfaz de usuario . Sin embargo, tenga en cuenta que con Guiones de interfaz de usuario no se debe utilizar el sistema para otras cosas mientras el script está funcionando como Kindle necesita permanecer frontales mientras que el script está funcionando.

Lo siguiente ejemplo AppleScript código , probada bajo MacOS High Sierra tomó capturas de pantalla de las primeras 5 páginas del Manual de referencia BASH :

set saveToLocation to POSIX path of (path to pictures folder)
set bookName to "BASH Reference Manual"
set pageCount to 5

set pathFileName to saveToLocation & bookName

tell application "Kindle" to activate

delay 0.5

tell application "System Events" to ¬
    tell window 1 of application process "Kindle" to ¬
        set {position, size} to {{693, 66}, {1006, 1089}}

repeat with i from 1 to pageCount

    set shellCMD to ¬
        "screencapture -R837,124,770,994 -t jpg '" & ¬
        pathFileName & " - Page " & ¬
        i & " of " & pageCount & ".jpg'"

    do shell script shellCMD
    delay 1.5
    --  # Press right-arrow key.
    tell application "System Events" to key code 124
    delay 1.5

end repeat

Nota: El <em>ejemplo </em><strong>AppleScript </strong><em>código </em>es sólo eso y no contiene ningún <em>tratamiento de errores </em>según corresponda. Corresponde al usuario añadir cualquier <em>tratamiento de errores </em>como sea apropiado, necesario o deseado. Eche un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>intente </strong></a><em>declaración </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>error </strong></a><em>declaración </em>en el <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guía del lenguaje AppleScript </strong></a>. Véase también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Trabajar con errores </strong></a>. Además, el uso de la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retraso </strong></a><em>comando </em>puede ser necesario entre eventos cuando sea apropiado, por ejemplo <code>delay 0.5</code> con el <em>valor </em>de la <em>retraso </em>ajustado apropiadamente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X