2016-09-16 7 views
1

OneNoteのツールバー拡張をクリックする小さなAppleScriptを作成しようとしていますので、キーボードショートカットにバインドできます。サファリのインスタンスはウィンドウモードであるとして、以下のスクリプトは限り完璧に動作しますが、フルスクリーンでそれが失敗し、エラーを返します。Safariツールバーのクリック方法AppleScriptを使用した拡張ボタン

error "System Events got an error: Can’t get window 1 of process \"Safari\". Invalid index." number -1719 from window 1 of process "Safari"

私はアプリケーションとして、このスクリプトをエクスポートし、それへのアクセシビリティのアクセスを許可しました。効果的には、フルスクリーンのSafariウィンドウにインデックスが与えられていないか、もはやウィンドウではなく、別のオブジェクトになっているようです。

tell application "System Events" 
tell process "Safari" 
    click button whose description contains "OneNote" of toolbar 1 of window 1 
end tell 
end tell 

のMacBook Pro(網膜、13インチ、後期2013) OS Xエルキャピタン、バージョン:10.11.6(15G1004)

答えて

0

このスクリプトを試してみてください。これは、Safariがフルスクリーンモードであるか否かに動作します:

set myButton to "OneNote" 

tell application "System Events" 
    tell process "Safari" 
     set isfullscreen to value of attribute "AXFullScreen" of window 1 
     if isfullscreen is true then 
      click ((buttons of toolbar 1 of group 1 of window 1) whose description contains myButton) 
     else 
      click ((buttons of toolbar 1 of window 1) whose description contains myButton) 
     end if 
    end tell 
end tell 

は、あなたがクリックしたい任意のボタンで「OneNoteのを」交換してください。

+0

このスクリプトも動作していないようですが、同じエラーが返されます(エラー "システムイベントにエラーがあります:プロセスのウィンドウ1を取得できません" Safari \ "無効なインデックスです" 1のプロセス「Safari」)。 行 ' ' Safariがフルスクリーンの場合、ウィンドウがないように見えるので、「すべてのウィンドウを取得する」は何も返さないので、ウィンドウ1の属性「AXFullScreen」の値にisfullscreenを設定します。 返信のための乾杯! –

+0

スクリプトをテストするために、最初の行に "delay 3"を追加しました。スクリプトが起動するとすぐに、全画面のSafariウィンドウに切り替わります。遅れて試してみてください。 –

+0

また、アシスタントアクセスを許可しましたか? システム環境設定>セキュリティ>プライバシー>アクセシビリティ>スクリプトエディタ –

関連する問題