En supposant qu'il n'y a qu'une seule instance de l'file:///.../index.html
URL dans le contenu de tout le tampon de défilement de l'onglet, alors le exemple suivant du code AppleScript peut le faire:
tell application "Terminal" to ¬
set tabHistory to ¬
history of tab of ¬
front window as text
set fileURL to ¬
do shell script ¬
"grep -o 'file:///.*\\.html' <<< " & ¬
tabHistory's quoted form & "; exit 0"
if fileURL is not "" then ¬
do shell script ¬
"open " & fileURL's quoted form
Notes:
Le exemple code AppleScript ci-dessus agit sur l'onglet sélectionné de la première fenêtre dans Terminal.
S'il y a un file:///.../index.html
URL dans le contenu de tout le tampon de défilement, il sera ouvert par la commande open
.
S'il y a plus d'une instance de l'file:///.../index.html
URL dans le contenu de tout le tampon de défilement de l'onglet, alors apportez la modification suivante dans l'exemple du code AppleScript ci-dessus pour ouvrir la dernière instance de l'file:///.../index.html
URL:
Changer:
set fileURL to ¬
do shell script ¬
"grep -o 'file:///.*\\.html' <<< " & ¬
tabHistory's quoted form & "; exit 0"
À:
set fileURL to ¬
last paragraph of ¬
(do shell script ¬
"grep -o 'file:///.*\\.html' <<< " & ¬
tabHistory's quoted form & "; exit 0")
Si vous voulez utiliser Safari pour ouvrir l'URL et le mettre au premier plan, alors:
Changer:
if fileURL is not "" then ¬
do shell script ¬
"open " & fileURL's quoted form
À:
if fileURL is not "" then ¬
tell application "Safari"
make new document with properties {URL:fileURL}
activate
end tell
L'exemple du code AppleScript peut être enregistré en tant que script shell avec un #!/usr/bin/osascript
shebang, rendu exécutable et exécuté depuis Terminal.
Note: L'<em>exemple</em> du <strong>code</strong> <strong>AppleScript</strong> est tel quel et ne contient pas de gestion d'<em>erreur</em> incluse. Il incombe à l'utilisateur d'ajouter toute gestion d'<em>erreur</em> appropriée. Consultez les déclarations <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>try</strong></a> et <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>error</strong></a> dans le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guide de Langage AppleScript</strong></a>. Consultez également, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Travailler avec les Erreurs</strong></a>. De plus, l'utilisation de la commande <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>delay</strong></a> peut être nécessaire entre les événements lorsque approprié, par exemple <code>delay 0.5</code>, avec la valeur du <em>delay</em> réglée de manière appropriée.
1 votes
Voulez-vous rechercher (comme dans un éditeur de texte) ou extraire?
0 votes
Je souhaite spécifiquement obtenir le texte d'une ligne qui correspond à un motif particulier. Je vais ajouter cela à ma question.
0 votes
Faisant remarquer qu'en réalité, vous résolvez le mauvais problème. Cette application devrait enregistrer ses résultats de "test" dans un fichier, et non les afficher à l'écran pour qu'ils disparaissent. L'application ne sort-elle vraiment que ses résultats à l'écran ?
0 votes
@MarcWilson Non, ils sont enregistrés dans un fichier. C'est l'emplacement du fichier que j'essaie de récupérer. L'emplacement du fichier varie en fonction du projet dans lequel je suis, ou des sous-projets en échec de validation.