5

我最近更新到 OS Mavericks,我的一些处理 Google Chrome 的 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的活动选项卡”中的“选项卡”。这个链接似乎提供了一些帮助,但我仍然不知道如何解决这个问题。任何人都可以帮我重新开始工作吗?谢谢。

4

6 回答 6

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,一个不理解。像这样解决 OS X iTunes 解决了这个问题:

tell application "/Applications/iTunes.app"
    return persistent ID of (first source where kind is library)
end tell

也许原始问题中的问题可以以相同的方式解决。

于 2014-07-14T10:22:02.037 回答
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

因此,它使我相信您没有正确调用处理程序。

于 2014-04-03T20:47:51.783 回答
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}

结束告诉

于 2014-04-04T07:01:06.777 回答
0

对于任何有同样问题的人。我的问题不在于脚本,它与我在设备上安装的 Parallels 版本有关。卸载 Parallels 解决了我的问题。

于 2014-12-11T15:03:38.277 回答
0

正如 hendrik 所说,如果您指定要从 Mac OS 安装 Chrome,则该问题应该得到解决。我在使用 Chrome 时遇到了这个问题,但后来指定我想在我的 mac os (Google Chrome.app) 上告诉我的 Google Chrome,它运行良好并已编译。

所以根据上面的代码,它看起来像这样:

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
于 2015-01-19T18:35:30.950 回答
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

然后,再次尝试您的脚本。

于 2015-05-16T14:57:34.710 回答