0 votos

Applescript para reiniciar el router haciendo clic en los botones

Estoy intentando escribir un applescript para reiniciar un router usando Safari durante la noche cuando nadie está usando la red. Puedo entrar en el router con éxito, pero estoy teniendo problemas en la selección del botón. Parece que el botón está en un marco y no sé cómo seleccionar el botón en el marco. Después de iniciar la sesión, el código HTML aparece como:

<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>

Dentro del código del "bottomLeftFrame", quiero hacer clic en el botón de abajo:

<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>

¿Puede alguien mostrarme cómo puedo seleccionar el elemento del menú con el id de "menu_tools"? Gracias.

1voto

wch1zpink Puntos 11

No hay manera de que yo sepa si este código siguiente te ayudará, sin poder ver la página web y probar el script. La acción de pulsar un botón en Safari (identificando el botón por su ID), requiere el uso de JavaScript dentro de su código AppleScript

Mientras este botón no esté dentro de un menú desplegable o una ventana emergente o cualquier otra cosa, este script debería funcionarte

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

0 votos

Para que esta solución funcione es necesario activar JavaScript desde Apple Events en Safari. Para conseguirlo manualmente, hay que hacer lo siguiente: Inicie Safari, vaya a Preferencias>Avanzado y marque la opción Mostrar el menú Desarrollo en la barra de menús. En la barra de menús, vaya a Desarrollador y marque la opción Permitir JavaScript desde los Eventos de Apple. Autenticarse con credenciales administrativas.

0 votos

Me olvidé de mencionar arriba que habilité Permitir JavaScript desde los Eventos de Apple.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X