0 votes

Applescript pour redémarrer le routeur en cliquant sur les boutons

J'essaie d'écrire un applescript pour redémarrer un routeur à l'aide de Safari pendant la nuit, lorsque personne n'utilise le réseau. Je parviens à me connecter au routeur, mais j'ai des difficultés à sélectionner le bouton. Il semble que le bouton soit dans un cadre et je ne sais pas comment le sélectionner dans ce cadre. Après avoir ouvert une session, le code HTML apparaît comme suit :

<frame name="topFrame" marginWidth="0" marginHeight="0" src="./frame/top.htm" noResize scrolling="no" frameSpacing="0" frameBorder="0">
    <frameset cols="182,55%,*">
        <frame id="frame1" name="bottomLeftFrame" marginWidth="0" marginHeight="0" src="./MenuRpm.htm" noResize frameBorder="1" scrolling="auto" style="overflow-x:hidden">
        <frame id="frame2" name="mainFrame" marginWidth="0" marginHeight="0" src="./mainFrame.htm" frameBorder="1">
        <frame name="helpFrame" marginWidth="0" marginHeight="0" src="./help/StatusHelpRpm.htm" frameBorder="1">
    </frameset>
</frameset>

Dans le code de la "bottomLeftFrame", je veux cliquer sur le bouton ci-dessous :

<li class="ml1"><a href="#__time.htm" id="menu_tools" onclick="return menuClick(this);" class="T  plus">System Tools</a><ul class="mu2  nd"><li class="ml2"><a href="#__time.htm" id="menu_time" onclick="return menuClick(this);" class="T ">- Time Settings</a>        </li><li class="ml2"><a href="#__pingNTraceRoute.htm" id="menu_diag" onclick="return menuClick(this);" class="T">- Diagnostic</a></li><li class="ml2"><a href="#__defaultCfg.htm" id="menu_def" onclick="return menuClick(this);" class="T">- Factory Defaults</a></li><li class="ml2"><a href="#__restart.htm" id="menu_restart" onclick="return menuClick(this);" class="T">- Reboot</a></li><li class="ml2"><a href="#__password.htm" id="menu_mcl" onclick="return menuClick(this);" class="T">- Password</a></li><li class="ml2"><a href="#__log.htm" id="menu_log" onclick="return menuClick(this);" class="T">- System Log</a></li><li class="ml2"><a href="#__stat.htm" id="menu_stat" onclick="return menuClick(this);" class="T">- Statistics</a></li></ul></li>

Quelqu'un peut-il me montrer comment je peux sélectionner l'élément de menu avec l'id de "menu_tools" ? Merci !

1voto

wch1zpink Points 6067

Il n'y a aucun moyen pour moi de savoir si le code suivant vous aidera, sans pouvoir voir le site web et tester le script. L'action de cliquer sur un bouton dans Safari (en identifiant le bouton par son ID), nécessite l'utilisation de JavaScript dans votre code AppleScript

Tant que ce bouton ne se trouve pas dans un menu déroulant, une fenêtre pop-up ou autre, ce script devrait fonctionner pour vous.

tell application "Safari"
    do JavaScript "document.getElementById('menu_tools').click();" in document 1
end tell

0 votes

Pour que cette solution fonctionne, vous devez activer JavaScript à partir des Apple Events dans Safari. Pour y parvenir manuellement, il faut procéder comme suit : Lancez Safari, allez dans Préférences>Avancées et cochez Afficher le menu Développer dans la barre de menu. Dans la barre de menu, allez dans Développeur et cochez la case Autoriser JavaScript à partir des événements Apple. S'authentifier avec des informations d'identification administratives.

0 votes

J'ai oublié de mentionner ci-dessus que j'ai activé Allow JavaScript from Apple Events.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X