MavericksのAutomatorで”Applescriptを実行”で click at命令が実行不可に

MavericksのAutomatorで"Applescriptを実行”アクションに以下をいれ


on run {input, parameters}

set bounds of window 1 of application "Safari" to {0, 0, 1023, 747}

tell application "Safari" to activate

delay 0.5

tell application "System Events"

tell process "Safari"

click at {1, 1}

delay 0.5

end tell

end tell

end run


実行すると

”構文エラー

System Events でエラーが起きました:{800, 310} のタイプを list に変換できません。”

とでます。


ちなみにApplescript エディタでは

error "System Events でエラーが起きました:{1, 1} のタイプを list に変換できません。" number -1700 from {1, 1} to list

です。



10.6ではちゃんと動きますので、原因が良くわかりません。


触りだして数時間でいま気づいたけど、System Events.app自体がMavericksに無いから、動かないのかぁ?

10.9のシステム/ライブラリ/CoreService/System Events.appが探せない。

ちなみに、セキュティで上記をアプリ登録して、GUI Scriptingの許可はしてます。

#iPhotoも1500円出して買ったのに…Automatorの代用できるモノのスキル無いので、づっと10.6でいくかぁ。。

MacBook, Mac OS X (10.6.8), MC516J/A 増設RAM+2GB (Mid 2010)

投稿日 2013/11/09 05:06

返信
返信: 38

2013/11/09 05:45 お子様ランチ. への返信

OS X: GUI Scripting - Accessibility Access Controls

http://www.macosautomation.com/mavericks/guiscripting/index.html


上を読むと、Security & Privacy で System Events を登録する必要があるようです。まず、workflow 形式で試してみてください。これでうまくいったらアプリケーション形式で試すと良いのではないかと思います。


あと、System Events の在処は下の AppleScript で分かりませんか?

path to application "System Events"


# 当方未だに Snow Leopard 環境なので全く分かりませんが一応情報まで。

2013/11/09 06:20 Hiro__S への返信

ありがとうございます。

焦っていて見ているところを間違っていたようで、お陰様でpath to application "System Events"見つけました。

System:Library:CoreServices:System Events.app:

System:Library:CoreServices:SystemUIServer

さっそくセットしてみました。

ユーザがアップロードしたファイル

そして実行しても

ユーザがアップロードしたファイル

となります。

どうやら、別の問題もあるのかも知れません。。。。

2013/11/09 07:33 お子様ランチ. への返信

座標のクリックがダメなら、メニューバーアイテムをクリックしてみるとか。

tell application "Safari" to activate delay 0.5 tell application "System Events"     tell process "Safari"         click menu bar item 1 of menu bar 1         delay 0.5     end tell end tell


# なんかしつこいようでごめんなさい。これでダメなら本当に終わりにします。

2013/11/09 13:19 Hiro__S への返信

はい、UI Elementを使ったこちらは動きます。

実はこれはすでに試して知ってましたが、これでは自分のスキルでは解決付かないのでclick atを使ってました。


あとAutomatorの自動記録ではいまいち、しっかりとした作動しない。

他の言語とかjavascriptとかだと任意の場所でclickできそうだけど、あいにくと知識不足でやり方をしりません。


というわけで、しばらく私も Snow Leopardで頑張ります。


2013/11/10 14:18 お子様ランチ. への返信

失礼致します。 私もMavericksのAppleScript Editor v2.6 (AppleScript v2.3) で試してみましたが、同様のエラー(リストに変換できない)が出ました。 数字を変数に置き換えても、変数に置き換えたリストを使用しても、エラーが出てしまいます。 でも、画面の特定の座標をクリックする意図はどのようなものでしょう? Hiro.Sさんがご指摘の様に、MenuなのどのUI Elementを指定してクリックする処理では不可能な処理なのでしょうか?

2013/11/10 15:29 T22T への返信

画面の特定の座標をクリックする意図はどのようなものでしょう?

これは、アメーバなうとtwitterへ、同じ文章を投稿するときに使ってます。


twitterへはテキスト領域に

https://twitter.com/intent/tweet?source=webclient&text=

を表示させて、ベーストさせて、クリックさせてます。


なのどのUI Elementを指定してクリックする処理では不可能な処理なのでしょうか?

これを未だに理解してません(すみません)


autumatorで記録をapplescript化して

set uiScript to "click UI Element 2 of group 2 of group 2 of UI Element 1 of scroll area 1 of group 1 of group 1 of group 3 of window 1 of application process \"Safari\""


とか、やる方法もあるとおもうのですが、たまにしくじったりします。

ですので確実な方法を思って座標をクリックしたいのです。


javascritでもできそなのですが、nameとかidがさがせだせないでいます。


一番のネックはアメーバなうの投稿アドレスで

http://now.ameba.jp/?entryText=

ここは、スキルがないせいでテキスト領域をアクティブにしたりするのさえ苦労してます(苦笑)。


検証有り難うございます。

2013/11/10 15:54 お子様ランチ. への返信

追記です。


ちなみにatumatorアクションの”指定されたURLを取得”に

https://twitter.com/intent/tweet?source=webclient&text=てすと

とか

http://now.ameba.jp/?entryText=てすと

と入れて(URLを開く)ボタンを押すとテキスト領域には自動的に”てすと”と入力されます。

けどautomatorでURL+テキスト文を”指定されたURLを取得”を変数で渡せないので、余計こんな厄介なことをしています。

2013/11/11 04:19 お子様ランチ. への返信

失礼致します。 私はTwitterをあまり使っておらず、『アメーバなう』もさっぱり解らず、原生動物のこと?とか考えてしまう有様ですが、Automatorのテキストの変数を3つ使って、『Webページを表示』アクションに渡すことも可能だと思います(下図)。 2つのテキスト変数には、TwitterとアメーバなうのURLを設定し、もう1つのテキスト変数には、書き込むテキストの値を設定します。 URLの変数には他の変数をドラッグ&ドロップで追加できますので、2つのWebページに同じテキストを入力できそうです。 書き込み用のテキスト変数の設定には、『テキストの入力を求める』アクションと『テキストの値を設定』アクションを使うとよいのではないでしょうか?

ユーザがアップロードしたファイル

2013/11/11 11:00 T22T への返信

ユーザがアップロードしたファイル

この最初から値を設定できる変数の使い方は知りませんでした。

いまのsnowleoperdのワークフローの力技よりずっとで素敵です。


ご教示ありがとうございました。


さて当初からの課題であるツイートなどのボタンのクリックをどうするか、未だに模索を続けます。

click atは諦めて他の方法は無いかと思ってます。

AutomatorのApplescriptアクションからdo javascriptを使い座標指定でクリックができるらしい感触はあるのですが、この辺をいまは暗中模索してます。。

2013/11/11 13:27 お子様ランチ. への返信

雪かきを終わっての追記


この変数の使い方Mavericksでは使えるけど、SnowLeopardでは使えないようですので参考にされる方は注意が必要です。従来の10.6のワークフローを改造してやれと思いましたが、それは叶えられないのでいままでの力づくで完成しているワークフローを使い続けてます。


あちらを立てればこちらがたたず、こちらをたてればあちらが立たずですが、10.8 は買ったまま放置していましたが少しずつMavericksに移行しようかなぁという気持ちにはなってきました。


SnowLeopardでいる大きな理由は、日本語のOCRで縦書きを読んで自動でPDFまでやってくれるアプリが見つからないことですが、昔使ってたgoogleドライブで我慢するしかないかぁ。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

MavericksのAutomatorで”Applescriptを実行”で click at命令が実行不可に

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。