【问题标题】:AppleScript - Pressing "Connect" button automatically on a dialogue box in order to execute mount commandAppleScript - 在对话框上自动按下“连接”按钮以执行安装命令
【发布时间】:2017-12-06 09:53:58
【问题描述】:

我从 Yosemite 升级到 Sierra,当我运行我的 applescript 代码来挂载我的服务器时,我得到一个对话框,提示我“取消”或“连接”。然后我按连接继续。

我尝试添加按键返回,但我仍然得到对话框。我错过了什么?

tell application "Finder"
    mount volume "smb://aeserver01"
    mount volume "smb://aeserver02"
    mount volume "smb://aeserver03"
    mount volume "smb://aeserver04"

    tell application "System Events" to keystroke return
end tell

非常感谢!

【问题讨论】:

  • 恭喜!你是堆栈溢出中的第 15.000.000 个问题!
  • 不需要Finder 告诉块。 mount volume 是标准添加的一部分。
  • 感谢您的建议。
  • 我删除了我的答案,因为我无法复制您问题中显示的 对话框。我刚刚在 macOS 10.12.6,mount volume "smb://$server/$share" 下进行了测试,它安装没有问题,因为我的凭据保存在我的钥匙串中。即使没有保存的凭据,我也无法显示您问题中的 对话框。我使用mount volume "smb://$server"mount volume "smb://$server/$share" 进行了测试,无论是否保存凭据都可以按预期工作。如果我无法重现显示的行为,我只能说,祝你好运解决您的问题。
  • 谢谢 user3439894。我在 Yosemite 上从来没有遇到过问题,但是一旦我在 Sierra 上连接,我就会看到那个该死的对话框。当我尝试通过 afp 连接时,它不会提示我。超级奇怪……

标签: macos applescript


【解决方案1】:

更新答案

这可能对你有用,因为它在 OS Sierra 上对我有用..

tell application "System Events"
    if exists of application process "NetAuthAgent" then
        tell application "NetAuthAgent" to activate
        delay 0.5
        try
            click UI element "Connect" of window 1 of application process "NetAuthAgent"
        end try
    end if
end tell

【讨论】:

  • 我没有出现OP中显示的对话框,是否有一些设置导致它显示?
  • 实际上我不太确定是什么原因导致该窗口打开。我只是碰巧在我的个人脚本库中有一个“连接到服务器”的脚本,它会从我的剪贴板输入一个 IP 地址。大约每第七次或第八次运行,OP 正在努力处理的那个消息窗口就会在我的系统上弹出。我无法弄清楚为什么以及何时会出现该消息窗口的疯狂方法。我的解决方案是添加一个“try”子句,正如我在我的答案中发布的那样,在它弹出时处理该窗口
  • 感谢您的建议@wch1zpink,但不幸的是它没有绕过那个该死的窗口。我觉得奇怪的是我今天早上来了,我所有的服务器都安装好了,没有任何问题。在我卸载所有卷并运行上述代码后,烦人的弹出窗口又回来了。再次感谢:-)
猜你喜欢
  • 2013-05-06
  • 2013-01-01
  • 2010-09-18
  • 2017-12-23
  • 2015-03-04
  • 2016-07-10
  • 2015-01-01
  • 1970-01-01
  • 2016-05-23
相关资源
最近更新 更多