4 votos

¿Cómo puedo automatizar la repetición de los clics del ratón, con retraso, desde coordenadas fijas dentro de una ventana del navegador?

Buscando una forma rápida y sucia de automatizar esta actividad mundana . Supongo que esto podría hacerse con una automatización para pulsar el botón del ratón desde dos coordenadas de píxeles separadas, con retraso, mientras la ventana del navegador no se mueva - a menos que haya una manera mejor.

He intentado crear un flujo de trabajo de Watch Me Do, en Automator, pero no consigo que funcione. Obtengo el error "la aplicación Chrome no se está ejecutando cuando se espera que lo haga". Además, por alguna razón, nunca muestra los clics del ratón.

Tengo configurada la accesibilidad, en las preferencias del sistema > seguridad y privacidad > privacidad > accesibilidad. Automatizador , Cromo y Eventos del sistema se comprueban allí dentro (entre otras cosas, por supuesto).

He probado la solución de markashworth como se detalla aquí -- que tampoco parece funcionar. Usando su método, obtengo este error:

enter image description here

ACTUALIZACIÓN: Acabo de descargar "cliclick" y he descubierto cómo hacer ambos clics como un comando de terminal, con los retrasos adecuados. PERO -- No sé código y necesito una manera para que este comando de terminal se repita "x" cantidad de veces. ¿Alguien sabe cómo podría hacer eso en script Editor? La línea de comandos es:

cliclick c:132,286 w:100 c:132,286 w:5000 c:1100,238

Necesitaría unos segundos de retardo antes de que se repita el bucle, lo que supongo que podría hacer con un "w:" final en esa línea. ¡¡Gracias por la ayuda!!

0 votos

¡Hola Ryan! 1 ¿Podría poner esto en un cuadro de respuesta a continuación, después de hacer clic en el botón "Responder a mi pregunta"? 2 Además, se puede ver el historial de revisiones apple.stackexchange.com/posts/374585/revisions aquí :) 3 ¿Por qué 208 veces específicamente? ¿Por qué no 209? ;)

0 votos

Ankii -- 1. lo hará ahora mismo. 2. ¡gracias por mostrarme esto! 3. ¡El recuento de repeticiones es irrelevante para la utilidad de esta automatización, el deseo es simplemente hacer clic en dos botones separados dentro de una página web con un retraso del temporizador, pero feliz de responder! Mi uso para este script es descargar volúmenes de una revista genealógica que está disponible con una cuenta gratuita a través de AmericanAncestors gratis. Ese volumen en particular tenía 208 páginas, cada una de las cuales se descarga como imágenes .jpg que luego estoy convirtiendo en archivos PDF para cada uno de los cuatro números dentro de cada volumen. ¡Gracias de nuevo!

4voto

Ryan Puntos 41

Los siguientes pasos son una solución para automatizar la repetición de clics de un ratón, hacia adelante y hacia atrás, en dos posiciones fijas diferentes dentro de una página web - es decir, hacer clic en dos botones o enlaces dentro de una página web, con un retraso definido por el usuario entre cada clic.

Todo esto es una ligera modificación de lo descrito en este hilo -- este es para dos "botones" del sitio web en lugar de uno.

IMPORTANTE: esta automatización NO funciona en segundo plano. En otras palabras, no puedes estar haciendo otra cosa en tu ordenador al mismo tiempo que se ejecuta esta automatización. Además, tu navegador no puede mover su posición física en tu pantalla después de que la automatización comience, porque literalmente le estás diciendo a la computadora que presione dos botones en coordenadas fijas de píxeles X,Y. Los "botones" de la página web, por lo tanto, deben permanecer en los mismos puntos de la pantalla para que esto funcione.

Los pasos son los siguientes:

  1. Haz clic en el icono de Apple (arriba a la izquierda) y selecciona "Preferencias del sistema". Escribe "seguridad" en la ventana de búsqueda de la parte superior derecha. Esto debería resaltar Seguridad y Privacidad. Ábrelo.
  2. Haga clic en el icono de bloqueo, introduzca su contraseña y haga clic en Desbloquear.
  3. Haga clic en Accesibilidad de la lista desplazable (icono azul). Ahora haga clic en el signo más debajo del cuadro de la derecha. A continuación, navegue hasta Aplicaciones y desplácese hacia abajo hasta Servicios públicos . Desde allí, ponga marcas de verificación en Terminal Y Script Editor . Finalmente, seleccione el navegador web que utilice en la lista de aplicaciones. A continuación, puede cerrar esta ventana.
  4. Terminal de lanzamiento. (Yo lo hago escribiendo "Terminal" como búsqueda en Spotlight (el icono de la lupa, arriba a la derecha de la pantalla)).
  5. Recuerde (en términos generales) cómo es esa línea inferior cuando se abre el Terminal. Querrás que Terminal vuelva a lo que sea después de cada una de las dos descargas cortas que ocurren dentro de la terminal -- ambas son a prueba de idiotas. `
  6. Primera descarga -- Cerveza casera . Por extraño que parezca, todo lo que hay que hacer para descargar este "programa" es copiar la única línea de texto que se ve a continuación " Instalar la cerveza casera " en su sitio web . Pega ese texto en Terminal, pulsa Enter y espera a que se complete el proceso. Cuando la línea inferior de Terminal aparezca tal y como estaba cuando la iniciaste por primera vez, habrás terminado.
  7. Segunda descarga -- CliClick (segunda descarga). Simplemente escriba estas tres palabras en el Terminal, y luego pulse por Enter:
    brew install cliclick
    (nota: CliClick tardó unos 90 segundos en instalarse, según recuerdo)
  8. Cuando la descarga se haya completado, puedes minimizar el Terminal, ya que has terminado con él. Ciérralo por completo si estás seguro de que el clic ha sido descargado.
  9. A continuación, simplemente determine las coordenadas de píxeles X,Y para ambos "botones" del sitio web en los que desea que el robot haga clic. Antes de hacer esto, te recomiendo que coloques la ventana del navegador en tu pantalla de tal manera que su esquina superior izquierda esté pegada a la esquina superior izquierda de tu pantalla. Para determinar las coordenadas, sólo tienes que pulsar COMANDO+MAYÚS+4 y anotar los dos conjuntos de números que hay encima de cada "botón" sobre el que se hace. Los dígitos superiores son las coordenadas X y los inferiores, por tanto, las Y. Obviamente, acabarás teniendo dos pares de números para cada botón. Anótalos en algún sitio y luego pulsa Escape para desactivar la retícula.
  10. Lanzar Script Editor . Como Terminal Lo hice escribiendo "scripteditor" como búsqueda en Spotlight
  11. Ahora, copie y pegue TODO el texto siguiente en el editor de script. Debe aparecer allí exactamente como lo hace abajo, incluyendo sangrías, etc:

    tell application "Google Chrome" activate repeat 208 times do shell script "/usr/local/bin/cliclick c:" & "132,286" delay 3.5 do shell script "/usr/local/bin/cliclick c:" & "1100,230" delay 4.5 end repeat end tell

Ahora ya no tienes que preocuparte por nada. Todo lo que tienes que hacer es reemplazar el primer conjunto de dígitos separados por comas con las coordenadas de tu primer botón del sitio web en formato X,Y. Deja las comillas como están. Repite esto para tu segundo botón y cambia los retrasos como quieras, que son en segundos.

Por último, establece el valor de la repetición a la cantidad de bucles que quieras ejecutar y guarda el script. Ya está. Pulsando "play" en Script Editor hará rodar la prensa. Puedes detenerlo simplemente robando el puntero hacia atrás y haciendo clic en el botón "parar", lo que hice varias veces para cambiar los retrasos en función de la velocidad de Internet y la velocidad del servidor.

3voto

moodforaday Puntos 2633

Hay una mucho manera más fácil de hacer esto en el Mac: Maestro del teclado .

A pesar del nombre, automatiza tanto el ratón como el teclado.

Te permite utilizar las herramientas de la GUI para configurar los clics (todo lo que tienes que hacer es decirle que mire dónde haces clic, luego haz clic, y él hará el cálculo por ti).

Te permitirá establecer un retardo específico entre los clics.

También tiene herramientas integradas para hacer clic en los enlaces en Safari y Chrome, que también pueden ayudar.

También le permitirá utilizar AppleScript o JavaScript (o cualquier otra cosa) como parte de la macro.

Todas las acciones se pueden arrastrar y soltar.

Hay un grupo muy activo de foro donde se reúnen muchos usuarios útiles (y también el desarrollador del programa).

También hay unas 1.000 cosas más que puedes hacer con Keyboard Maestro. Una vez que empieces a usarlo, te darás cuenta de todas las formas en que puede ayudar.

(Para que quede claro, no tengo absolutamente ninguna relación con la aplicación, salvo que soy un usuario muy agradecido desde hace varios años. Pago mis propias actualizaciones en cuanto sale una nueva versión porque es la utilidad más útil del Mac).

2 votos

Gracias por comentar. KM es una aplicación de pago con una prueba gratuita. He mirado esta opción y he llegado a descargar la versión de prueba. Luego decidí probar la solución que he descrito más arriba, que es un poco fea pero funciona a las mil maravillas y, sobre todo, es GRATUITA. Si necesito una utilidad más robusta, buscaré en KM. Gracias de nuevo.

1voto

John Skinner Puntos 11

¡Me alegro de que hayas resuelto tu script!

Sólo quería incluir que también puedes usar Selenium para hacer esto por ti. https://www.seleniumhq.org/ Selenium es utilizado por los profesionales del control de calidad para automatizar las pruebas de los sitios web, y está hecho para hacer todo lo que un usuario haría y más. Aquí hay un artículo que describe la automatización de los clics del ratón con Selenium... https://www.guru99.com/keyboard-mouse-events-files-webdriver.html Y aquí una descripción de cómo incluir un wait o timeout en un Selenium script... https://stackoverflow.com/questions/20009211/getting-selenium-to-pause-for-x-seconds

Espero que esto ayude.

0 votos

En primer lugar, ¡bienvenido a Ask Different y gracias por tu respuesta! :) Sin embargo, ten en cuenta que si tienes algún tipo de asociación con Selenium deberás revelarlo en tu respuesta.

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