2012-11-21 83 views
1

我有一個applescript,它將顯示菜單列表並允許用戶選擇菜單項等。 它運行良好。現在我嘗試在python中運行它。我得到了無用戶交互允許。 (-1713)錯誤。「不允許用戶交互」當在python中運行AppleScript

我在網上看。我試過如下:

  1. 在相同的AppleScript加上運行功能,所以我所做的是隻需添加主到運行

    上運行 告訴應用程序「AppleScript運行」 的main() 端告訴 端運行

  2. 我試圖運行上述在python 進口OS DEF主(): 使用os.system('osascript -e 「告訴應用程序」 ApplesScrip牛逼的人 「做腳本/Users/eee/applescript/iTune.scpt端告訴」 ')

    如果 ==' 主要「: 的main() 無論是工作方式。任何人都可以告訴我如何正確地做到這一點?

回答

10

這是一個常見的錯誤。當您使用OSAScript從shell運行腳本時,您必須告訴應用程序顯示任何「顯示對話框」或「選擇列表對話框」或需要用戶交互的任何內容。 OSAScript無法顯示它們,因此請告訴像Finder這樣的應用程序來顯示它們。使用這樣的代碼......

tell application "Finder" 
    activate 
    display dialog "Now it works!" 
end tell 

,或者在命令行通知,這是不行的......

osascript -e 'display dialog "Now it will not work."' 

但是這會工作,因爲我們告訴Finder可以做到這一點...

osascript -e 'tell application "Finder"' -e 'activate' -e 'display dialog "Now it works!"' -e 'end tell' 

因此,底線是iTune.scpt中的某處顯示一個對話框。在該腳本中,只需告訴iTunes或Finder顯示它們即可。

+0

謝謝!!!它現在有效! –

+0

謝謝;那也解決了我的問題! X – Danny

相關問題