J'ai créé cet AppleScript pour lire / mettre en pause des vidéos Youtube s'exécutant sur Chrome:
on run {input, parameters}
tell application "Google Chrome" to (tabs of window 1 whose URL contains "youtube")
set youtubeTabs to item 1 of the result
tell application "Google Chrome"
execute youtubeTabs javascript "document.getElementsByClassName('ytp-play-button ytp-button')[0].click();"
end tell
return input
end run
Cela fonctionne bien quand je le lance Automator
. J'ai enregistré le service et ajouté un raccourci clavier ⌘+ J
pour l'exécution du service. J'ai également ajouté Automator
aux Accessibility
paramètres (suite à cette réponse SO ).
Maintenant, voici la partie étrange: cela fonctionne lorsque la System Preferences
fenêtre est active. Si je le ferme ou si je passe à une autre fenêtre, le raccourci ne fonctionne pas. J'ai remarqué que cela fonctionne car il y a un élément de menu dans la System Preferences
fenêtre qui correspond au raccourci et qui se déclenche lorsque j'appuie sur le raccourci.
S'il vous plaît aider. Merci d'avance.
macos
applescript
automator
th3an0maly
la source
la source
Preview, Script Editor, Mail, TextEdit, iTunes, Safari, Finder, Terminal, Microsoft Word, TextWrangler, Automator
, etc ..)Réponses:
Comme je l'ai mentionné dans mon commentaire à la réponse de wch1zpink, "S'assurer que les paramètres du service sont corrects et que la séquence de touches de raccourci n'est pas utilisée par un autre est la première étape" et a ensuite été mentionné par jackjr300 dans son commentaire. Changer le raccourci clavier en un raccourci qui n’est utilisé par aucun autre élément du système ou de toute application (c’est-à-dire si «Les services ne reçoivent aucune entrée dans aucune application ») fonctionne pour moi, que les Préférences Système soient ouvertes ou non , lors de l’utilisation de le code , tel quel , dans l'OP et une séquence de touches non en conflit.
Aucune application n'est également nécessaire dans les préférences système > Sécurité et confidentialité > Confidentialité > Accessibilité pour ce cas d'utilisation particulier, qu'elle soit exécutée à partir d' Automator ou lorsque vous utilisez un raccourci clavier non conflictuel dans Préférences système > Clavier > Raccourcis > Services > (Nom que vous avez donné au service) .
Pour résoudre votre problème, vous devez utiliser un raccourci clavier qui n'est pas déjà attribué ailleurs dans le système et / ou dans les applications.
Vous devrez peut-être utiliser une séquence de trois ou quatre touches car il y a très peu, voire aucun, combos à deux touches qui ne sont pas déjà utilisés.
Sur une note de côté,
return input
n'est pas du tout nécessaire dans le code dans ce cas d'utilisation particulier.la source
Essayez de substituer ce code entier dans votre message avec exactement ceci:
la source
Preferences
fenêtre est ouverte, pas autrement.execute
commande produira des résultats différents de ceux obtenus en appelantexecute
directement une commande correctement formée _, sans utiliser de gestionnaire? L'utilisation d'un gestionnaire ne va pas faire la moindre différence dans ce cas d'utilisation, car les deux variantes de codage font exactement la même choseexecute tab id # of window id # javascript "document.getElementsByClassName('ytp-play-button ytp-button')[0].click();"