¿Cómo uso Applescript para hacer clic en el botón Reemplazar en el cuadro de diálogo Guardar como de Photoshop?

Tengo un Applescript que hace clic con éxito en el botón Reemplazar en el cuadro de diálogo Guardar como de InDesign , pero el mismo script no funciona en Photoshop. Falla en el comando de clic en esta sección del script:

tell application "System Events" to tell process activeProcess
    click button "Replace" of sheet 1 of front window
end tell

con este mensaje:

Can't get sheet 1 of window 1 of process "Adobe Photoshop CC 2018": invalid index

Esto es lo que muestra el Inspector de accesibilidad para el botón Reemplazar : ingrese la descripción de la imagen aquíProbé varios enfoques para identificar la hoja, ninguno de los cuales funcionó. ¿Alguna sugerencia?

Solo para ser minuciosos, así es como se ve el cuadro de diálogo Guardar como cuando el botón Reemplazar está disponible:

ingrese la descripción de la imagen aquí

¡Gracias por tu ayuda!

Puede usar Applescript para automatizar Photoshop ( Adobe Photoshop Scripting ), que sería una mejor manera de automatizar cosas (o usar Acciones o Javascript). De esa manera, se libraría de este problema... — Además, si necesita presionar muchos botones de la GUI o seleccionar elementos del menú, Keyboard Maestro es increíble para eso. Básicamente, simplemente dígale qué elementos del menú o botones desea presionar y hace todo el trabajo pesado.
Gracias, Joonas. He examinado las secuencias de comandos de Photoshop, pero se trata más de acciones de secuencias de comandos para manipular la imagen en sí. Hacer clic en el botón Reemplazar es una acción del sistema, pero necesito poder identificarlo dentro de la jerarquía de la GUI de Photoshop (como se trabajó con el mismo script en InDesign). Creo que el problema se trata principalmente de cómo hacer referencia a la hoja que contiene el botón Reemplazar.
En primer lugar... para que todos puedan ver, no podré decirles cómo hacer clic en ese botón con applescript porque simplemente uso Keyboard Maestro cuando es necesario y mi experiencia haciendo esas cosas con applescript es muy limitada. — No tengo la imagen completa de lo que está haciendo, pero puede guardar documentos a través de secuencias de comandos, que es lo que eliminaría la necesidad de hacer clic en el botón de reemplazo. Si busca en el pdf de referencia de applescript "opciones de guardado de jpeg" u "opciones de guardado de pdf", encontrará fragmentos de código que muestran cómo funciona. De esta manera, no necesita usar applescript para navegar por la interfaz gráfica de usuario.
Como dije... No sé muy bien qué es lo que estás haciendo además de guardar la imagen, pero usar applescript para simular pulsaciones de botones me parece un poco al revés. También como mencioné (esto puede no ayudar con esta situación exacta) AI y PS tienen acciones , que son básicamente macros. Mucha gente comienza desde allí y recurre a la creación de secuencias de comandos cuando las acciones no son suficientes. Las gotitas también pueden ser bastante útiles.

Respuestas (1)

Esto me funciona en la última versión de High Sierra y Adobe Photoshop CC 2018...

delay 1
tell application "System Events"
    click UI element "Replace" of sheet 1 of window ¬
        "Save As" of application process "Adobe Photoshop CC 2018"
    delay 0.3
    click UI element "Large file size (Fastest saving)" of window ¬
        "PNG Format Options" of application process "Adobe Photoshop CC 2018"
    delay 0.3
    click UI element "OK" of window "PNG Format Options" of ¬
        application process "Adobe Photoshop CC 2018"
end tell

ingrese la descripción de la imagen aquí

Gracias, wch1zpink. Desafortunadamente, esto no funciona para mí (en High Sierra, Photoshop CC 2018). Recibo este mensaje: Can't get window "Save As" of process "Adobe Photoshop CC 2018"Si cambio window "Save As"a front windowla ventana se encuentra pero la hoja no, y ese es el problema original. Identificar la hoja parece ser el problema.
Se actualizó el código usando la última versión de Adobe Photoshop CC 2018
Bien, esto funciona si lo uso literalmente, es decir, identificando explícitamente "Adobe Photoshop CC 2018". Estaba intentando configurar esto para que funcionara en las ventanas "Guardar como" de varias aplicaciones mediante la identificación dinámica de la aplicación activa, pero el script que funcionaba para InDesign no funcionaba para Photoshop. No estoy seguro de cuál fue el problema con eso, pero me conformaré con tener un script separado que funcione solo para Photoshop. Y muchas gracias por tu ayuda.
@Sarjo Me alegro de poder ayudar. Puede agradecerme votando mi respuesta y seleccionándola como la respuesta aceptada.