2016-09-16 38 views
1

我試圖寫一個小的AppleScript將點擊工具欄上的OneNote擴展,這樣我就可以把它綁定到一個鍵盤快捷鍵。下面的腳本完美的作品,只要Safari瀏覽器的實例是窗口模式,但在全屏失敗並返回錯誤:如何點擊使用AppleScript一個Safari瀏覽器的工具欄擴展按鈕(在全屏模式下)

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瀏覽器\號-1719「無效的指數。」 1的過程「Safari」)。 線 '設置isfullscreen到窗口的屬性「AXFullScreen」的價值1' 似乎是問題,因爲當Safari是全屏,似乎沒有被任何窗口,「讓每一個窗口」沒有返回值? 歡呼聲回覆! –

+0

爲了測試腳本,我在第一行添加了「延遲3」。一旦腳本啓動,我切換到全屏Safari瀏覽器窗口。你能否延遲嘗試一下? –

+0

另外,你有沒有允許輔助訪問? 系統偏好設置>安全性>隱私>輔助功能>腳本編輯器 –

相關問題