Expertos!
Soy nuevo en el script de Apple y lucho con su complejidad ... Pero tal vez alguien pueda ayudar. Lo que quiero hacer mi iMac:
El iMac se utiliza para funcionar como una presentación de diapositivas HighEnd para un trabajo de artista. Es extremadamente importante que el iMac obtenga el tiempo correcto para mostrar la presentación de diapositivas.
Entonces, ¿qué debe hacer el iMac?
iMac se despierta todas las mañanas a las 8 a.m. y se duerme a las 11 p.m. (hecho por Energysaver)
iMac activa y desactiva Wifi (ver script1 a continuación)
- Iniciando Safari (script 2)
- iMac encuentra el Wifi correcto y se conecta (falta)
- La página de inicio de sesión de Wifi necesita un "clic en la casilla de verificación" para aceptar los términos de uso (SCRIPT 3 Intenté adaptar un script que se encuentra en la red, pero realmente no funciona)
- iMac espera hasta una hora específica (9 a.m.) y lanza el protector de pantalla. (SCRIPT 4 se está iniciando, pero esperando hasta que falte un tiempo específico)
¡Cualquier ayuda y sugerencia sería muy apreciada! Andreas
Lo que tengo:
--SCRIPTA 1
set status to do shell script "networksetup -getairportpower en1"
if status ends with "On" then
do shell script "networksetup -setairportpower en1 off; sleep 2"
end if
set status to do shell script "networksetup -getairportpower en1"
if status ends with "Off" then
do shell script "networksetup -setairportpower en1 on"
end if
--SCRIPT 2
tell application "Safari" activate
end tell
--SCRIPT 3 haciendo clic en el cuadro para aceptar los términos de uso
to clickID(theId)
tell application "Safari"
do JavaScript "document.getElementById('" & theId & "').click();" in document 1
end tell
end clickID
--SCRIPT 4 es necesario para obtener el tiempo, esperar y ejecutar el protector de pantalla
set ntpdPID to do shell script "pgrep ntpd; exit 0"
if ntpdPID is not "" then
do shell script "systemsetup -setusingnetworktime On" with administrator privileges
end if
try
tell application id "com.apple.Screensaver.engine" to launch
end try
fuente
Respuestas:
WIP
Script 1
Script 2
Script 2.5
Use el código @CJK para conectarse. Luego use Script 3 para aceptar los términos y condiciones.
Script 3
Safari> Preferencias> Avanzado> Mostrar menú Desarrollar en la barra de menú
Desarrollar> Permitir JavaScript de eventos de Apple
3)
Script 4
Si el script funciona, haga lo siguiente:
Método Cron (depreciado)
1)
2. Copie y pegue lo siguiente
3. Presione ^ O (Control + O)
Nota: Cron no se ejecutará si la computadora está dormida
lanzamiento
sudo nano /Library/LaunchDaemons/com.mycompany.plist
Copie y pegue lo siguiente:
Presione ^ O (Control + O)
Presione Entrar
5)
fuente
launchd
probablemente sea preferiblecron
, el último de los cuales se considera obsoleto en macOS.StartCalendarInterval
probablemente sería la clave para usar aquí.space
todo>
cuando se utilizan, por ejemplo, Safari> Preferencias> Avanzado> Mostrar menú en la barra de menús, etc. Desarrollaropen location
no es un comando de Safari y no debe usarse dentro de un bloque de Safaritell
(o, más bien, es superfluo hacerlo).open location
abre una URL en el navegador predeterminado del sistema , que puede ser Chrome . Para abrir una URL en Safari , hazlotell app "Safari" to make new document with properties {URL: "http://example.com"}
.