3 votos

Autómata: Usando Cmd F en un "mírame hacer" y tratando de tomar decisiones basadas en los resultados.

Usando automator, he navegado a un sitio web que requería una contraseña, he sacado una página y necesito buscar una palabra en esa página. Digamos que la palabra es "flowmaster" por ejemplo. Hice que Automator hiciera un 'watch me do' y tecleé Cmd-F para buscar en esa página. Escribo flowmaster y me devuelve en la línea de comandos spotlight 0 coincidencias.

Digamos que quiero que siga buscando en la página y cuando la palabra 'flowmaster' aparezca como coincidencia, que me envíe un correo electrónico para avisarme de que está en la página. Cuando hago que Automator "obtenga el texto de la página web" u "obtenga el contenido de las páginas web", sólo devuelve el título de la página o la página inicial del sitio web.

Para mostrarle lo que estoy tratando de hacer, escriba "comando F" ahora, a continuación, escriba en "flowmaster" debe decir a la izquierda del foco de búsqueda 4 partidos y las teclas de flecha izquierda / derecha. Esos son los datos que estoy buscando. ¿Hay alguna forma de que esa información de 1 coincidencia active un evento? Por ejemplo, si hay 1 coincidencia, enviar un correo electrónico diciendo "uno disponible". El problema con el "mírame hacer" es que no hay nada allí la mayor parte del tiempo, pero cuando la palabra aparece en el sitio web, necesito que me avise.

¿Es posible?

1voto

Ged Byrne Puntos 481

La funcionalidad "Watch Me Do" de Automator es bastante limitada, como has descubierto. Además, imitar la forma en que un usuario puede hacer algo no siempre es la mejor manera de automatizar las cosas - por ejemplo, el ordenador no necesita abrir una ventana del navegador y utilizar el panel de búsqueda para buscar el texto de una página web, puede simplemente descargar los datos y buscarlos sin necesidad de ninguna de las sutilezas de la interfaz gráfica de usuario.

Notificaciones por correo electrónico de Automator para texto coincidente en un sitio

  1. Añadir un Obtener URL especificadas acción. Añádale la dirección de la página que desea consultar.

  2. Añadir un Obtener texto de una página web y asegúrese de que el menú desplegable está configurado como texto sin formato .

  3. Añadir un Ejecutar Shell script con el shell configurado en /bin/bash y el ajuste de entrada a a stdin . Introduzca el texto siguiente, sustituyendo search term con el texto que desea comparar (asegúrese de mantener las comillas si la cadena tiene espacios):

    grep -o "search term" | wc -l | tr -d " "

    Tenga en cuenta que la búsqueda distingue entre mayúsculas y minúsculas.

  4. Añadir un Ejecutar AppleScript acción, e insértese el texto siguiente, sustituyendo me@example.com según proceda:

    on run {input, parameters}
        if input > 0 then
            tell application "Mail"
                set theNewMessage to make new outgoing message with properties {subject:"Found Matches", content:"Found " & input & " matches", visible:false}
                tell theNewMessage
                    make new to recipient at end of to recipients with properties {address:"me@example.com"}
                    send
                end tell
            end tell
        end if
    end run

    Puede sustituir el subject y content pero asegúrate de formatearlos correctamente como cadenas AppleScript (dejaré esto como ejercicio para el lector, es bastante fácil de averiguar, busca en Google si es necesario).

Esto enviará un correo electrónico si hay alguna coincidencia para la cadena en el sitio. El AppleScript se utiliza en lugar de las acciones de correo electrónico de Automator porque Automator no ofrece ninguna acción condicional ( es decir if) para realizar acciones, y sólo queremos enviar un correo electrónico si se encuentra una coincidencia. Hazme saber en los comentarios si tienes alguna pregunta.

0 votos

Rob, gracias por contestar, siento haber estado fuera un rato. He probado las acciones del automatizador que sugeriste. Sólo un par de preguntas, (por favor, perdona mi ignorancia LINUX, nunca habría descubierto la frase grep).Acabo de comprar applescript:missing manual para aprender, y mi intento con automator es usar un martillo para girar una tuerca. He ejecutado el flujo de trabajo, sin embargo, la página que estoy buscando es en realidad en un marco y el texto obtener de la página web no devuelve ningún resultado de búsqueda. He forzado un imacro usando 'watch me do' para que devuelva resultados, pero tampoco puedo conseguir que devuelva un resultado.

0 votos

Había intentado usar imacros para navegar a la página (después de iniciar sesión con nombre y contraseña--que puedo forzar con 'watch me do'), sin embargo, la página tiene varias selecciones de submenú como fecha y menús a los que navego, luego miro a ver si está la palabra clave. Creo que la página está en javascript y los imacros extraerían la frase seleccionando el marco y buscando la palabra clave en ese marco. Usando get text from webpage sólo me devolvió un par de cabeceras de menú, pero no el texto que buscaba. Gracias, John S

0 votos

Obtener contenido de un sitio generado dinámicamente puede ser complicado, si ese contenido no está disponible de forma fiable desde una URL específica (por ejemplo, cómo puede construirse una búsqueda en Google mediante parámetros de URL). Se puede hacer, pero está fuera del alcance de Automator o AppleScript. Yo suelo usar Python para algo así. Sin embargo, pueden ser sólo los marcos que le stymieing, en cuyo caso, haga clic derecho en el marco con el contenido que desea, y haga clic en Abrir marco en una nueva pestaña y copie la URL del marco en la acción Obtener texto de la página web.

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