2012-11-21 42 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

相关问题