1 votos

Hacer clic en un botón de Safari con AppleScript

Este es el objetivo general. Digamos que tengo 10 pestañas abiertas en una ventana de Safari. Quiero saltar al campo abierto correcto en la primera pestaña de Safari.

  • Escribe una cadena de texto.
  • Pulsa el botón "Enviar" debajo de este campo.
  • Pasar a la siguiente pestaña de Safari
  • repita este proceso hasta que se haya enviado el mismo texto en todas las pestañas abiertas.

El código de abajo hace todo menos pulsar el botón de enviar. Cuando "inspeccionar elemento" en el botón "enviar" esto es lo que veo:

<input type=“submit” class=“submit” value=“Send”> = $0

¿Puede alguien decirme cómo modificar mi código para utilizar eso y conseguir que se haga clic en el botón de envío en cada página? Aquí está el código que tengo hasta ahora (soy nuevo en AppleScript, por cierto)

tell application "Safari"
    activate
end tell

tell application "Safari"
    set tabList to every tab of window 1
    repeat with currentTab in tabList

        tell application "System Events"
            delay 1
            keystroke tab
            keystroke tab
            keystroke tab
            keystroke tab
            delay 2
            keystroke "text i want on each page"
            delay 1
            delay 1
            tell application "System Events" to key code 30 using {shift down, command down}
        end tell
    end repeat
end tell

1voto

mdlieber99 Puntos 31

Parece que lo he resuelto (con ayuda del chatGPT que funcionó de verdad). La línea clave de código para agregar fue:

Aquí está el código completo que funciona para que puedas verlo en contexto

tell application "Safari"
    activate
end tell

tell application "Safari"
    set tabList to every tab of window 1
    repeat with currentTab in tabList

        tell application "System Events"
            delay 1
            keystroke tab
            keystroke tab
            keystroke tab
            keystroke tab
            delay 2
            keystroke "text I want on each page"
            delay 1
        end tell

        tell application "Safari"
            delay 1
            do JavaScript "document.querySelector('.submit').click();" in current tab of window 1
        end tell

        tell application "System Events" to key code 30 using {shift down, command down}
    end repeat
end tell

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