1 votos

Uso del comando CURL para pulsar un botón HTML (prueba de velocidad)

Estoy tratando de usar un comando CURL de Linux para pulsar un botón "Start Test" en un sitio web de pruebas de velocidad con el fin de obtener los datos de velocidad.

Contexto:

Estoy usando este enfoque en lugar de instalar la aplicación speedtest-cli porque esto será parte de un script que se instala en múltiples puntos finales. El sitio web de la prueba de velocidad es: https://www.speedcheck.org/

Estoy tratando de seguir este ejemplo . Cuando inspecciono el elemento HTML, revela:

<a _ngcontent-dhl-c4="" class="btn start-button" data-wow-delay="0.7s">Start Test</a>

pero esto no coincide con el formato del enlace del ejemplo de StackExchange.

0voto

user3439894 Puntos 5883

Como respuesta alternativa al uso de curl , yo usaría AppleScript Por ejemplo:

Ejemplo AppleScript código :

tell application "Safari"
    tell current tab of window 1
        do JavaScript ¬
            "document.getElementsByClassName('btn start-button')[0].click();"
    end tell
end tell

O:

tell application "Safari"
    do JavaScript ¬
        "document.getElementsByClassName('btn start-button')[0].click();" in document 1
end tell

Notas:

Esto requiere Permitir JavaScript desde los eventos de Apple para que se compruebe en el Desarrollar menú.

Para desocultar lo oculto Desarrollar menú:

  • Safari > Preferencias > Avanzado > [] Mostrar el menú Desarrollo en la barra de menús

Para Google Chrome habría algunos cambios menores en el código Por ejemplo:

Cambiar current tab a active tab y cambiar do JavaScript a execute javascript

A continuación, haga clic en Google Chrome > Ver > Desarrollador > Permitir JavaScript desde los eventos de Apple , si es aplicable a la versión de Google Chrome que estás corriendo.


Nota: El <em>ejemplo </em><strong>AppleScript </strong><em>código </em>es sólo eso y sin ningún tipo de inclusión <em>tratamiento de errores </em>no contiene ningún otro <em>tratamiento de errores </em>según corresponda. Corresponde al usuario añadir cualquier <em>tratamiento de errores </em>como sea apropiado, necesario o deseado. Eche un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>intente </strong></a><em>declaración </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>error </strong></a><em>declaración </em>en el <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guía del lenguaje AppleScript </strong></a>. Véase también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Trabajar con errores </strong></a>. Además, el uso del <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retraso </strong></a><em>comando </em>puede ser necesario entre eventos cuando sea apropiado, por ejemplo <code>delay 0.5</code> con el <em>valor </em>de la <em>retraso </em>ajustado apropiadamente.

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