Votre premier AppleScript ! Incroyable... Et un projet ambitieux pour commencer, mais je peux voir sa valeur.
Ma réponse n'écrira pas le script pour vous, mais je vous donnerai des conseils pour aborder votre problème différemment et obtenir ce que vous voulez un peu plus facilement.
Pour répondre d'abord à vos questions spécifiques :
Dire à Safari de faire Cmd-F
tell application "Safari" to activate
tell application "System Events" to keystroke "f" using command down
Coller une phrase à partir du presse-papiers
Envoyez un Cmd-V. Il se peut que vous ayez besoin d'un petit délai entre les deux commandes clavier.
"Cliquez sur le lien en surbrillance
Tu ne peux pas. Vous ne serez pas en mesure d'identifier ce qui est mis en évidence via une recherche Cmd-F avec une grande facilité (peut-être par le biais d'un script GUI, mais ce sera un désordre). Je reviendrai bientôt sur ce point.
Une approche différente
En travaillant à l'envers, supposons que vous avez obtenu le texte que vous devez coller dans TextEdit . Ne le collez pas. Définissez le contenu d'un nouveau fichier TextEdit au contenu du presse-papiers :
tell application "TextEdit" to set text of (make document) to the clipboard
Afin de définir le presse-papiers au contenu d'une page web Safari, utilisez cette commande :
tell application "Safari" to set the clipboard to ¬
(text of current tab of front window) as string
Et cela nous ramène à cliquer sur le lien...
Si vous voulez littéralement cliquer sur un lien sur une page web, une méthode serait de s'assurer que Autoriser le Javascript à partir des événements Apple est vérifié dans la fenêtre Développer et lancez un do JavaScript
pour choisir le lien contenant l'élément de recherche pertinent et le cliquer :
tell application "Safari" to tell document 1 to do JavaScript ¬
"Array.from(document.links).find(a => a.href.includes(\"cjk\")).click()"
Cette méthode ne trouve que la première occurrence de l'heure de recherche, ce qui, j'en ai déduit, est suffisant étant donné que votre méthode de recherche par Cmd+F semblait se contenter d'accepter la première occurrence comme étant la seule d'importance.
Cependant, je pense que l'ensemble du processus pourrait être simplifié et rendu beaucoup plus robuste en utilisant les éléments suivants Automator pour nous aider. Il peut extraire toutes les URL directement d'une page web (il suffit de lui fournir l'URL de la page web en question). Vous pouvez ensuite filtrer ces URL pour rechercher un texte spécifique. Une fois que vous avez l'URL que vous désirez, au lieu de cliquer dessus, Automator peut télécharger son contenu sous forme de texte et l'insérer directement dans une nouvelle TextEdit document. Je pense que pratiquement aucun AppleScript ne sera nécessaire, bien que vous puissiez le compléter avec un peu d'AppleScript pour affiner les choses ici et là si nécessaire.
Sans votre page web en question, je ne peux pas concevoir le flux de travail spécifique à votre application. Cependant, cela vous priverait également de la joie de le faire vous-même. Mais en utilisant ce Stack Exchange à titre d'exemple, le flux de travail suivant isole l'URL de votre profil d'utilisateur (dont le lien se trouve en bas de la question que vous avez posée), télécharge le texte de votre profil et le transforme en un nouveau fichier TextEdit document :
Nous espérons que cela suffira à vous mettre sur la voie de la réalisation de votre objectif. Si vous avez besoin de précisions, laissez un commentaire et je vous répondrai dès que possible.