Tu primer AppleScript! Increíble ... Y un proyecto ambicioso para empezar, pero puedo ver su valor.
Mi respuesta no escribirá el guión por ti, pero te daré consejos sobre cómo abordar tu problema de manera diferente y lograr lo que deseas un poco más fácilmente.
Para responder primero a sus consultas específicas:
Decirle a Safari a Cmd-F
tell application "Safari" to activate
tell application "System Events" to keystroke "f" using command down
Pegar una frase desde el portapapeles
Enviar un Cmd-V. Es posible que necesite un pequeño retraso entre los dos comandos de pulsación de tecla.
"Haz clic" en el enlace resaltado
No puedes. No podrá identificar lo que está resaltado a través de una búsqueda de Cmd-F con gran facilidad (posiblemente a través de scripts GUI, pero eso será un desastre). Volveré a esto en breve.
Un enfoque diferente
Trabajando hacia atrás, supongamos que has obtenido el texto que necesitas pegar en TextEdit . No lo pegues. Establezca el contenido de un nuevo documento TextEdit en el contenido del portapapeles:
tell application "TextEdit" to set text of (make document) to the clipboard
Para configurar el portapapeles con el contenido de una página web de Safari, use este comando:
tell application "Safari" to set the clipboard to ¬
(text of current tab of front window) as string
Y esto nos hace volver a hacer clic en el enlace ...
Si, literalmente, desea hacer clic en un enlace en una página web, un método sería asegurarse de que Permitir Javascript desde eventos de Apple esté marcado en el menú Desarrollar de Safari y ejecutar a do JavaScript
para seleccionar el enlace que contiene el elemento de búsqueda relevante y haga clic en él:
tell application "Safari" to tell document 1 to do JavaScript ¬
"Array.from(document.links).find(a => a.href.includes(\"cjk\")).click()"
Esto solo encuentra la primera instancia del tiempo de búsqueda, que he deducido es suficiente dado que su método de hacer una búsqueda de Cmd + F parecía contento de aceptar la primera aparición como la única de importancia.
Sin embargo, creo que todo el proceso se podría simplificar y hacer mucho más robusto al utilizar Automator para ayudarnos. Puede extraer todas las URL directamente de una página web (todo lo que tiene que hacer es alimentar la URL de la página web en cuestión). Luego puedes filtrar estas URL para buscar un texto específico. Una vez que tenga la URL que desea, en lugar de hacer clic en ella, Automator puede descargar su contenido como texto e insertarlo directamente en un nuevo documento TextEdit . Creo que casi no se necesitaría AppleScript, aunque puede complementarlo con algunos AppleScript para ajustar las cosas aquí y allá según sea necesario.
Sin su página web en cuestión, no puedo diseñar el flujo de trabajo específico para su aplicación. Sin embargo, eso también te privaría de la alegría de hacerlo tú mismo. Pero al utilizar esta página web Stack Exchange como ejemplo, el siguiente flujo de trabajo aísla la URL de su perfil de usuario (el enlace al que se encuentra en la parte inferior de la pregunta que realizó), descarga el texto de su perfil. y lo convierte en un nuevo documento TextEdit :
Esperemos que esto sea suficiente para que te encuentres bien en tu camino hacia el logro de tu objetivo. Si necesita alguna aclaración, deje un comentario y le responderé cuando pueda.