2 votos

AppleScript para elegir un elemento en la página web

¿Es posible con AppleScript elegir un elemento clicable en una página web y hacer clic en él y, si es así, puedes darme un ejemplo?

0 votos

Gracias USER3439894 por la respuesta tan completa. La aprovecharé.

4voto

user3439894 Puntos 5883

Sí, en general, es posible, sin embargo puede depender del navegador y de la página web, no hay un método para todos Si lo desea, puede hacerlo.

Ejemplos:

En esta página web en particular, mirando la línea del título de la pregunta, en el extremo derecho hay un botón azul que dice Preguntar

La siguiente línea de AppleScript código hará clic en ese botón en Safari si Permitir JavaScript desde los eventos de Apple se comprueba en el Safari > Desarrollar que está oculto por defecto y puede mostrarse marcando [√] Mostrar el menú Desarrollo en la barra de menús en: Safari > Preferencias > Avanzado

tell application "Safari" to tell document 1 to do JavaScript ¬
    "document.getElementsByClassName('ws-nowrap s-btn s-btn__primary')[0].click();"

Con Google Chrome lo siguiente ejemplo AppleScript código hace lo mismo, sin tener que modificar ninguna de las configuraciones por defecto:

tell application "Google Chrome" to tell active tab in front window to execute javascript ¬
    "document.getElementsByClassName('ws-nowrap s-btn s-btn__primary')[0].click();"

Tenga en cuenta que el JavaScript código La porción, dentro de las comillas dobles, de cada una de ellas es la misma, mientras que la básica AppleScript código es diferente para el funcionamiento de cada una de las dos aplicaciones con el código .

También debo señalar que si bien esto es AppleScript aunque con algunas JavaScript , es realmente el JavaScript que está haciendo el verdadero trabajo de pulsar el botón de destino. Vainilla básica AppleScript sin ejecutar algún JavaScript no puede realmente hacer clic en un botón en el contenido de la página web a menos que se haga a través del uso muy kludgy de Guiones de interfaz de usuario .

Ejemplo de scripting de interfaz de usuario:

En mi sistema, en MacOS High Sierra utilizando Safari En la versión 11.1.1 (13605.2.8), lo siguiente ejemplo AppleScript código funciona para pulsar el botón que los otros ejemplos pulsan.

tell application "System Events" to click UI element ¬
    "Ask Question" of group 5 of UI element 1 of scroll area 1 of group 1 of ¬
    group 1 of tab group 1 of splitter group 1 of window 1 of application process "Safari"

En mi sistema, en Safari en MacOS Catalina tendrías que cambiar of group 5 of UI element 1 a of group 6 of UI element 1 y aunque esto parece menor, sin embargo, dependerá de lo que usted está tratando de hacer clic y donde y algunos objetos en una página web no puede hacer clic en absoluto con este método, sin embargo, es muy probable que sea factible con JavaScript llama a .

Esto no funcionaría en Google Chrome ya que no expone ese particular UI element para hacer clic de esta manera.

Uno de los problemas de Guiones de interfaz de usuario es la estructura jerárquica al objeto está sujeto a cambios entre las versiones de la aplicación o las versiones de MacOS y tendría que ser modificado, cuando el uso de AppleScript con JavaScript normalmente seguirá funcionando sin modificaciones.

Por cierto, nada de esto es posible en Firefox .

0 votos

^ Yo animaría a OP a ir con la opción de Javascript en lugar de secuencias de comandos de interfaz de usuario. Si bien ambos son algo frágiles, Javascript se siente significativamente menos probable que se rompa.

0 votos

@Wowfunhappy, JavaScript es definitivamente el camino a seguir, sin duda alguna. El UI Scripting sólo debe ser utilizado cuando no hay una mejor manera de lograr el objetivo.

0 votos

^^^^. Qué envidia.

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