Configuré mi página de inicio de Safari en una URL que tiene un formulario de nombre de usuario y contraseña. Mi secuencia de comandos debería abrir Safari y establecer el nombre de usuario en un valor. El script abre Safari, se muestra la página de inicio, pero no se agrega texto al cuadro de entrada.
tell application "Safari" activate tell window 1 delay 3 do JavaScript "document.getElementById('username').value = 'hello';" end tell end tell <input type="text" name="username" id="username" size="20" style="width: 150px;">¿Alguien puede sugerir por qué?
Debe decirle a Safari dónde, por ejemplo, tab n of window n o el document n , etc.
Ejemplo de código AppleScript :
tell application "Safari" tell current tab of window 1 do JavaScript "document.getElementById('username').value = 'TheCoder';" end tell end tellO:
tell application "Safari" do JavaScript "document.getElementById('username').value = 'TheCoder';" in document 1 end tell Nota: El código AppleScript de ejemplo es solo eso y, sin ningún manejo de errores incluido, no contiene ningún manejo de errores adicional que pueda ser apropiado. El usuario tiene la responsabilidad de agregar cualquier manejo de errores que sea apropiado, necesario o deseado. Eche un vistazo a la declaración de prueba y la declaración de error en la Guía del lenguaje AppleScript . Consulte también Trabajar con errores . Además, el uso del comando de retardo puede ser necesario entre eventos cuando corresponda, por ejemplo, delay 0.5 , con el valor del retardo establecido de forma adecuada.