Objectives:
Quiero crear un archivo .scpt de AppleScript que haga lo siguiente:
-
Accede a la página web de un enrutador (es decir, su dirección IP).
-
Desde esta página web, obtiene las direcciones IP que actualmente están conectadas a ambas redes. (Por "ambas redes", me refiero a las redes inalámbricas separadas de 2.4GHz y 5.0GHz).
-
Desde la página web, obtiene las respectivas intensidades de señal Dbm de cada dispositivo conectado (es decir, cada dirección IP conectada).
Implementation:
Quiero que un objeto AppleScript list
contenga todas las direcciones IP:
- Por ejemplo:
theListOfIPs
contiene{"192.168.0.1", "192.168.0.", "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6.", "192.168.0.7"}
.
(No tengo la necesidad de diferenciar entre las IP que están conectadas a la red de 2.4GHz y las IP que están conectadas a la red de 5.0GHz. Todas las IP simplemente deben estar contenidas en theListOfIPs
.)
Y, un objeto AppleScript list
que contenga sus potencias de señal correspondientes:
- Por ejemplo:
theListOfTheirSignalStrengths
contiene{"0", "-75", "-40", "0", "0", "-63", "-72"}
.
Notas:
-
Me gustaría que todo esto se complete "detrás de escena". La falta de atención es realmente clave, ya que el script deberá revisar periódicamente el sitio web del enrutador para obtener actualizaciones de la red.
-
En última instancia, los cambios en el estado de la red se escribirán en un archivo de registro .txt, y se mostrará una notificación de alerta, cuando se cumplan ciertas condiciones. Sé cómo codificar estos componentes; Necesito ayuda para importar realmente los datos al script.
-
Navegador preferido: Google Chrome
Background:
He utilizado el comando de shell, curl
, antes, para importar el código fuente HTML no compilado de un sitio web determinado en un AppleScript, como un objeto text
. Entiendo que, lamentablemente, no se pueden obtener todos los elementos de JavaScript de forma similar o conveniente en un AppleScript como un único objeto de texto.
En su lugar, uno debe obtener cada elemento de JavaScript individualmente, por algún identificador, como id
, class
, tag
o name
. Esto hace que las cosas sean más complicadas (porque no puede simplemente analizar todo en AppleScript).
Al utilizar la función Inspeccionar de Chrome y la función Elements panel de la consola de JavaScript de Chrome, he determinado los identificadores de JavaScript relevantes. Los dos ID de elementos de JavaScript que contienen todas las direcciones IP, así como sus intensidades de señal, son wifi-24
y wifi-5
.
¿Puede alguien enseñarme a escribir correctamente el código JavaScript necesario y luego analizar el texto HTML resultante para aislar los datos de red básicos que deseo?