-1
我想在終端中使用此命令: osascript -e'退出應用程序「ISISClientManager」' 它的工作原理,但應用程序有一個對話框與是或否。 我可以自動讓腳本選擇是。終端腳本退出應用程序,但忽略對話窗口中用戶輸入的需求
我相信這是一個基本問題。非常基本,我無法在Google中找到答案。 謝謝, 伊恩
我想在終端中使用此命令: osascript -e'退出應用程序「ISISClientManager」' 它的工作原理,但應用程序有一個對話框與是或否。 我可以自動讓腳本選擇是。終端腳本退出應用程序,但忽略對話窗口中用戶輸入的需求
我相信這是一個基本問題。非常基本,我無法在Google中找到答案。 謝謝, 伊恩
第一反應:哇,營銷可能會被建議重新考慮這個名字。
第二個反應:您可能能夠使用輔助功能API來做到這一點:
如果「是」按鈕是默認選項:
osascript -e 'tell application "MyApp" to activate' -e 'tell application "System Events" to keystroke return'
如果它不是默認情況下,它顯然會這是一段艱難的時間,但如果開啓全鍵盤訪問,您可以通過Tab鍵和空格按鍵的組合(兩者之間的小延遲讓UI追上)來完成。或者,您可以獲取窗口的位置,測量相對於其中一個角的「是」按鈕的位置,在那裏模擬點擊事件,並希望佈局在將來的某個版本中不會更改。
編輯:沒關係上述;其實你可以得到系統事件按名稱查找按鈕,點擊它你:
osascript -e 'tell application "System Events" to tell process "MyApp" to click button "Yes" of front window'
或者,如果按鈕是板材:
osascript -e 'tell application "System Events" to tell process "MyApp" to click button "Yes" of sheet 1 of front window'
您可能需要啓用要麼終端或任何應用程序你發送此從系統偏好設置 - >隱私 - >可訪問性爲此工作。
可能有強制退出應用程序的方法。 – marcusshep
正確但是。我試圖避免kill命令,並且要禮貌地退出應用程序。 –