2017-10-03 17 views
0

Javascript for Automation(JXA)を使用してデフォルトのMailアプリとやりとりしようとしています。私はリストの最初の電子メールをクリックして、それがそれ自身のウィンドウで開くようにしたいと思う。クリックは何もしません。解答hereは私が試したもので、うまくいきません。JXAでUI要素をクリックしても機能しません

enter image description here

マイコード:

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() 

私はclick()を削除し、.select()を使用する場合は、メニューから[メール]を選択しますが、電子メールのリスト項目自体をクリックするだけでREPLでnullを返します。 。私は内側の各をクリックしてみましたuiElementsしかし、これはどちらも動作しません。

答えて

1

新しいウィンドウでメッセージを開く方法を示すAppleScriptがあります。 これをJXAに簡単に翻訳できるはずです。

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

UIのスクリプトよりも、アプリケーションのオブジェクトモデルを使用することをお勧めします。

+0

実際のメールを開く際に役立つリンクをありがとう。しかし、UIスクリプティングが必要なものがいくつかありますが、選択した電子メールをクリックしても何も表示されないのはなぜですか?私が自動化したいと思う適切なオブジェクトモデルのない他のアプリがあります。 – codemon

+0

@Rupこの表では、新しいウィンドウでメッセージを開くために行をダブルクリックする必要があるためです。通常、clickコマンドは、「UI要素」に「** AXPress **」アクションが含まれている場合に機能します(** Mail **アプリケーションのウィンドウ内のこのテーブルの行にはアクションがありません)。 – jackjr300

関連する問題