标签: applescript

如何在 yosemite 中使用 javascript 自动化打开新的 Chrome 窗口?

我正在尝试做一些基本的事情。我只想打开一个新窗口,然后在该窗口中使用 OSX Yosemite 的新 javascript 桥打开 2 个选项卡。我找不到显示如何执行此操作的文档:

ObjC.import("Cocoa");
chrome = Application("Google Chrome");
chrome.includeStandardAdditions = true
chrome.open("test1tab.com");
chrome.open("test2tab.com");
Run Code Online (Sandbox Code Playgroud)

javascript macos applescript osx-yosemite javascript-automation

2
推荐指数
1
解决办法
2392
查看次数

如何在AppleScript中找到数字的平方根

我有一个简单的计算器代码,我想在其中包含平方根。我对 applescript 比较陌生,我不知道如何操作。可能有点菜鸟,但还是谢谢你!

applescript calculator square-root

2
推荐指数
1
解决办法
818
查看次数

通过 NSAppleScript 编写 iTunes 脚本的沙盒权限

我正在尝试在 Cocoa 应用程序中从 NSAppleScript 编写 iTunes 脚本,以便将文件添加到库中。

在我的权利文件中,我添加了以下内容:

<key>com.apple.security.scripting-targets</key>
    <dict>
        <key>com.apple.itunes</key>
        <array>
            <string>com.apple.itunes.library.read-write</string>
        </array>
    </dict>
Run Code Online (Sandbox Code Playgroud)

然后我这样调用 AppleScript:

var error: NSDictionary? = nil
let appleScript = NSAppleScript(source: "tell application \"iTunes\" to add (POSIX file \"\(path)\") to library playlist 1")
let result = appleScript?.executeAndReturnError(&error)
Run Code Online (Sandbox Code Playgroud)

但它失败并出现错误-10004iTunes got an error: A privilege violation occurred.

itunes我尝试以两种方式(和)大写 iTunes iTunes,但似乎没有任何效果。我还尝试在读写权利之上添加read权利。最后,我尝试添加对用户音乐文件夹(存储 iTunes 库的位置)的读写访问权限,但这也没有帮助。

为了编写 iTunes 脚本,是否还需要我不知道的其他权利?

我在搜索解决方案时找到了此链接(链接),但它要求用户在其文件夹中选择一个特定文件夹,Library以授予应用程序用户选择的文件访问权限,然后要求脚本位于一个单独的文件中,该文件为 2对于我想做的事情来说太多了。我不信任用户对脚本文件的管理,并且我不需要 1 行 AppleScript 代码的文件。据我了解,另一个缺点NSUserAppleScriptTask是您无法在多个调用中保留脚本的状态,这对我来说不是问题,但对其他人来说可能是问题。

谢谢

cocoa applescript appstore-sandbox nsapplescript swift

2
推荐指数
1
解决办法
995
查看次数

在applescript中,什么是“应用程序过程”?

我从其他问题中了解到应用程序和流程之间的区别。但我希望我能对这段代码中发生的事情得到一些澄清。

(application processes whose visible is true)
Run Code Online (Sandbox Code Playgroud)

“应用程序进程”是指由应用程序启动的所有进程吗?这是否意味着有些进程不是由应用程序启动的?或者我可以将其切换到“进程”并取出“应用程序”吗?

syntax applescript

2
推荐指数
1
解决办法
1366
查看次数

如何在 Applescript 中回显值/变量?

免责声明:我对此很陌生。

我有一个使用 count 命令检索到的数字,现在我想使用“do shell script echo”将其输出到 .txt 文件。

到目前为止我的代码:

tell application "Things3"
    set todayToDos to to dos of list "Today"
    count todayToDos
    do shell script "echo todayToDos > /Users/nonefirstnonelast/Desktop/Things.txt"
end tell
Run Code Online (Sandbox Code Playgroud)

控制台输出为:

""
without do shell script "echo todayToDos > /Users/nonefirstnonelast/Desktop/Things.txt" line it is: 27
Run Code Online (Sandbox Code Playgroud)

applescript

2
推荐指数
1
解决办法
7733
查看次数

如何通过命令行工具获取Mac上当前正在播放的歌曲?

我只能在 Google 上找到一些具有特定音乐应用程序(如 itunes、spotify 等)的 applescript 来获取当前播放的歌曲。

但是现在我使用的是网易音乐,不支持applescript控制,我想知道是否有任何通用的方法可以通过mac媒体中心获取当前播放的歌曲信息?

Applescript 和其他命令行工具都可以。

在此输入图像描述

macos applescript

2
推荐指数
1
解决办法
1339
查看次数

Swift:获取打开的应用程序窗口列表,其中包含桌面编号和位置信息

我正在开发一个可与应用程序窗口一起使用的 macOS 应用程序。我现在无法承担的目标是检索所有打开的应用程序窗口的列表,它看起来像这样(JSON 示例):

[
  {
    "appName": "Google Chrome",
    "appWindows": [
      {
        "size": {"x": 100, "y": 100}, 
        "position": {"height": 100, "width": 100}, 
        "desktopNumber": 2
      },
      {
        "size": {"x": 100, "y": 100}, 
        "position": {"height": 100, "width": 100}, 
        "desktopNumber": 3
      }
    ]
  },
  {
    "appName": "Telegram",
    "appWindows": [
      {
        // full screen app, so has a separate desktop number
        "size": {"x": 1080, "y": 1920}, 
        "position": {"height": 0, "width": 0}, 
        "desktopNumber": 4
      }
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

每个应用程序都有一系列打开的窗口以及打开它的桌面号码。全尺寸应用程序占用单独的桌面空间,因此它应该有一个单独的桌面编号。

我知道如何使用 获取打开的窗口列表CGWindowListCopyWindowInfo,但我找不到找到桌面号码或确定哪个窗口可见或不可见的方法。

如果不可能用 Swift …

macos applescript desktop-application swift

2
推荐指数
1
解决办法
1342
查看次数

AppleScript与AutoIt

我觉得AppleScript比AutoIt更受尊重.我认为这是你可以放在简历上的东西,而AutoIt则不是.是这样的吗?这是为什么?使用AutoIt,您可以自动执行任何操作.这是AppleScript的情况吗?使用AppleScript,您可以像在网页中的图像一样检测屏幕上的任意图像吗?

scripting applescript autoit

1
推荐指数
1
解决办法
1616
查看次数

使用applescript登录mac

我写了一个小脚本在远程机器上打开Safari:

tell application "Safari"
    activate
    set URL of first document to "http://www.stackoverflow.com/"
end tell
Run Code Online (Sandbox Code Playgroud)

我会远程运行applescript,因为我可以通过SSH连接.

但是,如果机器没有物理登录(即,我没有达到它并输入我的详细信息),没有任何反应.注意,我仍然可以使用SSH连接到机器,因此仍然可以运行脚本.

那么我可以使用applescript远程登录机器吗?

macos applescript

1
推荐指数
1
解决办法
3790
查看次数

在Cocoa中获取桌面背景

我需要做一些全屏应用程序,这通常不是问题.现在的问题是我需要拥有用户的桌面,但没有图标,作为我的全屏窗口的背景,就像10.7中的Launchpad一样.我在AppleScript中引用了桌面背景:

tell application "Finder"
    set a to desktop picture
end tell
Run Code Online (Sandbox Code Playgroud)

这给了我这样的东西:document file "100930-F-7910D-001.jpg" of folder "Pictures" of folder "Fighter Jet Stuff" of folder "Desktop" of folder "tristan" of folder "Users" of startup disk of application "Finder"我无法想象进入常规路径.

我尝试过,set a to desktop picture as POSIX path但是这会引起我的注意.知道如何在Cocoa中做到这一点,使用上面的Applescript获取路径,甚至更好,没有Applescript?我不想依赖可能存储此信息的任何plist的特定格式,因为它有可能在以后破坏.我想可能有一个我不知道的框架......

cocoa applescript desktop-background

1
推荐指数
1
解决办法
851
查看次数