2017-10-03 13 views
0

J'essaie d'interagir avec l'application Mail par défaut en utilisant Javascript for Automation (JXA). Je veux cliquer sur le premier email de la liste pour qu'il s'ouvre dans sa propre fenêtre. mais cliquer ne fait rien. La solution suggérée here est ce que j'ai essayé et cela ne fonctionne pas.Le fait de cliquer sur l'élément de l'interface utilisateur avec JXA ne fonctionne pas

enter image description here

Mon code:

var se = Application("System Events"); 
var mail = se.applicationProcesses.byName("Mail"); 

mail.windows[0] 
.splitterGroups[0] 
.splitterGroups[0] 
.groups[0] 
.scrollAreas[0] 
.tables[0] 
.rows[0].click() 

Si je supprime le click() et utiliser .select() il choisira l'e-mail dans le menu, mais en cliquant sur l'élément de liste de courrier électronique se retourne juste null dans le rempl . J'ai essayé de cliquer sur chacun des uiElements intérieurs mais cela ne fonctionne pas non plus.

Répondre

1

Voici un AppleScript qui montre comment ouvrir un message dans une nouvelle fenêtre. Vous devriez pouvoir facilement traduire cela en JXA.

https://stackoverflow.com/a/390549/915019

Il est préférable d'utiliser le modèle objet de l'application de scripts interface utilisateur.

+0

Merci votre lien aidé à ouvrir le véritable email. Cependant, pour certaines choses, le script de l'interface utilisateur est nécessaire, et je voudrais toujours comprendre pourquoi cliquer sur l'email sélectionné ne fait rien? Il existe d'autres applications sans modèles d'objets appropriés que je voudrais automatiser. – codemon

+0

@Rup Parce que sur cette table, vous devez double-cliquer sur une ligne pour ouvrir le message dans la nouvelle fenêtre. Généralement, la commande click fonctionne quand un élément 'ui' contient l'action "** AXPress **" (les lignes de cette table dans la fenêtre de l'application ** Mail ** n'ont aucune action). – jackjr300