Objectifs :
Je veux créer un fichier AppleScript .scpt qui fait ce qui suit :
-
Permet d'accéder à la page Web d'un routeur (c'est-à-dire à son adresse IP).
-
À partir de cette page Web, obtenez les adresses IP qui sont actuellement connectées aux deux réseaux. (Par "les deux réseaux", je fais référence aux réseaux sans fil 2.4Ghz et 5.0Ghz séparés).
-
À partir de la page Web, obtenez les intensités de signal Dbm respectives de chaque dispositif connecté (c'est-à-dire chaque adresse IP connectée).
Mise en œuvre :
Je veux un AppleScript list
pour contenir toutes les adresses IP :
- Par exemple :
theListOfIPs
contient{"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"}
.
(Je n'ai pas besoin de faire la différence entre les IP qui sont connectées au réseau 2.4GHz et celles qui sont connectées au réseau 5.0GHz. Toutes les IPs doivent simplement être contenues dans theListOfIPs
.)
Et, un AppleScript list
pour contenir leurs forces de signal correspondantes :
- Par exemple :
theListOfTheirSignalStrengths
contient{"0", "-75", "-40", "0", "0", "-63", "-72"}
.
Notes :
-
J'aimerais que tout cela soit réalisé "en coulisses". La discrétion est vraiment la clé, car le script devra vérifier périodiquement le site web du routeur pour les mises à jour du réseau.
-
Enfin, les modifications de l'état du réseau seront enregistrées dans un fichier journal .txt et une notification d'alerte sera affichée lorsque certaines conditions seront remplies. Je sais comment coder ces composants ; j'ai besoin d'aide pour importer réellement les données dans le script.
-
Navigateur de choix : Google Chrome
Le contexte :
J'ai utilisé la commande shell , curl
auparavant, afin d'importer le code source HTML intégral d'un site web donné dans un AppleScript, sous forme de text
objet. Je comprends que, malheureusement, il n'est pas possible d'intégrer de manière similaire ou pratique tous les éléments JavaScript dans un AppleScript sous la forme d'un seul objet texte.
Au lieu de cela, il faut récupérer chaque élément JavaScript individuellement, par un identifiant quelconque, comme son id
, class
, tag
ou name
. Cela rend les choses plus compliquées (parce que vous ne pouvez pas simplement tout analyser en AppleScript).
En utilisant la fonction Inspect et la fonction Elements panneau de la console JavaScript de Chrome, j'ai déterminé les identifiants JavaScript pertinents. Les deux identifiants d'éléments JavaScript qui contiennent toutes les adresses IP, ainsi que la puissance de leur signal, sont wifi-24
y wifi-5
.
Quelqu'un peut-il m'apprendre à écrire correctement le code JavaScript nécessaire, puis à analyser le texte HTML résultant, afin d'isoler les données de base du réseau que je souhaite ?