我最近更新了OS Mavericks,看来我的一些处理谷歌浏览器的AppleScript已停止正常工作。
我有一个简单的功能,可以打开chrome并创建一个新窗口..
on openWindow()
tell application "Google Chrome"
activate
set newWin to make new window
tell active tab of newWin to set URL to "http://play.google.com/music"
end tell
end openWindow
然而,这给了我错误: 预期结束但找到了财产。
参考"标签"在"告诉newWin的活动标签。" 这link似乎提供了一些帮助,但我仍然不知道如何解决这个问题。 任何人都可以帮助我重新开始工作吗?感谢。
答案 0 :(得分:2)
我也有类似的问题,也在OS X 10.9.4上,这是一个非常简单的脚本
tell application "iTunes"
return persistent ID of (first source where kind is library)
end tell
时不时地返回完全相同的错误消息:
NSAppleScriptErrorBriefMessage = "Expected end of line but found property.";
NSAppleScriptErrorMessage = "Expected end of line but found property.";
NSAppleScriptErrorNumber = "-2741";
NSAppleScriptErrorRange = "NSRange: {45, 2}";
这不是一个真正的解决方案,但根据我的经验,计算机重启可以解决问题(暂时)。
整个问题看起来像AppleScript中的一个错误。
结果我同时使用Parallels运行Windows VM。在VM中,还有一个iTunes实例。实质上,我在同一系统上有两个不同版本的iTunes。一个了解AppleScript而另一个不了解AppleScript的人。解决OS X这样的问题解决了这个问题:
tell application "/Applications/iTunes.app"
return persistent ID of (first source where kind is library)
end tell
也许原问题中的问题可以用同样的方法解决。
答案 1 :(得分:0)
您的代码适用于我,10.9.2没有错误。所以你的错误必须在其他地方。如果我使用...
调用处理程序,我注意到我收到了错误on openWindow()
但是,如果我只是使用以下内容,这就是你应该如何调用处理程序,那么它没有错误。
openWindow()
例如,像这样运行处理程序之外的代码,你不应该得到任何错误......
tell application "Google Chrome"
activate
set newWin to make new window
tell active tab of newWin to set URL to "http://play.google.com/music"
end tell
因此它让我相信你没有正确地调用处理程序。
答案 2 :(得分:0)
为此简单
tell application "Google Chrome"
activate
set newWin to make new window
tell active tab of newWin to set URL to "http://play.google.com/music"
end tell
但是在没有工具栏的全屏幕中,它是
tell application "Google Chrome"
activate
set newWin to make new window
tell active tab of newWin to set URL to "http://play.google.com/music"
tell application "System Events"
keystroke "f" using {command down, shift down}
告诉
答案 3 :(得分:0)
对于有同样问题的人。 我的问题不在于脚本,它与我在设备上安装的Parallels版本有某种关系。卸载Parallels解决了我的问题。
答案 4 :(得分:0)
正如亨德里克所说,如果您指定要从Mac OS获取Chrome,则问题应该得到解决。我在使用Chrome时遇到了这个问题,但之后又指出我想在我的Mac OS(谷歌Chrome.app)上告诉我的谷歌浏览器,它完美地运行并编译完成。
因此基于上面的代码,它看起来像这样:
on openWindow()
tell application "/Applications/Google Chrome.app"
activate
set newWin to make new window
tell active tab of newWin to set URL to "http://play.google.com/music"
end tell
end openWindow
答案 5 :(得分:0)
最后我修复了它而没有删除Parallels Desktop。
以下是基本步骤:
首先,从Parallels Desktop VM取消应用程序共享
其次,您需要使用以下命令重置启动服务:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -seed -r -f -v -domain local -domain user -domain system
然后,再次尝试您的脚本。