Obiettivi:
Voglio creare un file .scpt di AppleScript che faccia quanto segue:
-
Accede alla pagina Web di un router (ad es. il suo indirizzo IP).
-
Da questa pagina Web, ottiene gli indirizzi IP attualmente connessi a entrambe le reti. (Con "entrambe le reti", mi riferisco alle reti wireless 2.4Ghz e 5.0Ghz separate.)
-
Dalla pagina web, ottiene i rispettivi punti di forza del segnale Dbm di ciascun dispositivo connesso (ad esempio, ogni indirizzo IP collegato).
Implementazione:
Voglio un oggetto AppleScript list
per contenere tutti gli indirizzi IP:
- E.g .:
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"}
.
(Non ho bisogno di distinguere tra gli IP che sono connessi alla rete da 2,4 GHz e gli IP che sono connessi alla rete da 5,0 GHz. Tutti gli IP dovrebbero semplicemente essere contenuti in theListOfIPs
.)
E, un oggetto AppleScript list
per contenere i rispettivi punti di forza del segnale:
- E.g .:
theListOfTheirSignalStrengths
contiene{"0", "-75", "-40", "0", "0", "-63", "-72"}
.
Note:
-
Vorrei che tutto questo fosse completato "dietro le quinte". L'indiscussa è davvero la chiave, perché lo script dovrà controllare periodicamente il sito Web del router per gli aggiornamenti di rete.
-
In definitiva, le modifiche allo stato della rete verranno scritte in un file di registro .txt e verrà visualizzata una notifica di avviso quando vengono soddisfatte determinate condizioni. So come codificare questi componenti; Ho bisogno di aiuto per importare i dati nello script.
-
Browser di scelta: Google Chrome
Sfondo:
Ho usato il comando shell, curl
, prima, per importare il codice sorgente HTML completo di un determinato sito Web in un AppleScript, come oggetto text
. Capisco che, purtroppo, non è possibile ottenere in modo simile o conveniente tutti gli elementi JavaScript in un AppleScript come un singolo oggetto di testo.
Invece, è necessario ottenere ogni singolo elemento JavaScript singolarmente, tramite un identificatore, come id
, class
, tag
o name
. Ciò rende le cose più complicate (perché non puoi semplicemente analizzare tutto in AppleScript).
Usando la funzione Ispeziona di Chrome e Elementi riquadro della console JavaScript di Chrome, ho determinato gli identificatori JavaScript pertinenti. I due ID elemento JavaScript che contengono tutti gli indirizzi IP, nonché i relativi punti di forza del segnale, sono wifi-24
e wifi-5
.
Qualcuno può insegnarmi come scrivere correttamente il codice JavaScript necessario e poi analizzare il testo HTML risultante, per isolare i dati di rete di base che desidero?