Objetivos:
Quiero crear un archivo AppleScript .scpt que haga lo siguiente:
-
Accede a la página web de un router (es decir, a su dirección IP).
-
Desde esta página web, obtiene las direcciones IP que están actualmente conectadas a ambas redes. (Por "ambas redes", me refiero a las redes inalámbricas de 2,4Ghz y 5,0Ghz por separado).
-
Desde la página web, obtiene las respectivas intensidades de señal Dbm de cada dispositivo conectado (es decir, cada dirección IP conectada).
La puesta en práctica:
Quiero un AppleScript list
para contener 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 IPs que están conectadas a la red de 2.4GHz y las IPs que están conectadas a la red de 5.0GHz. Todas las IPs deben estar simplemente contenidas en theListOfIPs
.)
Y, un AppleScript list
para contener sus correspondientes intensidades de señal:
- Por ejemplo:
theListOfTheirSignalStrengths
contiene{"0", "-75", "-40", "0", "0", "-63", "-72"}
.
Notas:
-
Me gustaría que todo esto se completara "entre bastidores". La discreción es realmente clave, porque el script</strkeep><strkeep> tendrá que comprobar periódicamente el sitio web del router para las actualizaciones de la red.
-
Finalmente, 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 los datos en el script.
-
Navegador de elección: Google Chrome
Antecedentes:
He utilizado el comando shell , curl
Antes, para importar el código fuente HTML no abreviado de un determinado sitio web a un AppleScript, como text
objeto. Entiendo que, lamentablemente, no se pueden introducir de forma similar o conveniente todos los elementos de JavaScript en un AppleScript como un único objeto de texto.
En cambio, hay que obtener todos y cada uno de los elementos de JavaScript individualmente, por algún identificador, como su id
, class
, tag
o name
. Esto hace las cosas más complicadas (porque no se puede simplemente analizar todo en AppleScript).
Utilizando la función de Chrome Inspect y la función Elements panel de la consola JavaScript de Chrome, he determinado los identificadores JavaScript relevantes. Los dos identificadores de elementos JavaScript que contienen todas las direcciones IP, así como su intensidad 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 básicos de la red que deseo?