3

我在编写代码以自动运行 DiskWarrior 时遇到问题。问题是当我打开应用程序时,会弹出一个安全代理对话框并询问我的用户名和密码,我不知道如何“单击”进入安全代理窗口,以便输入用户名和密码。我知道如何对名称/密码进行编码,但我不知道如何“单击”进入 SercuirtyAgent 窗口。我曾尝试使用 UI 检查器,但到目前为止还没有运气。有谁知道如何编写“单击”SecurityAgent 窗口的代码

任何/所有帮助和反馈将不胜感激。

这是我到目前为止所拥有的,仍在试图弄清楚:

tell application "DiskWarrior"
    open
end tell
delay 1
tell application "System Events"
    tell process "SecurityAgent"
        click text field 1
        delay 3
        keystroke "a user name"
                delay 3
                keystroke tab
                delay 3
                keystroke "a password"
                delay 3
                keystroke return
    end tell
end tell
4

2 回答 2

2

您可以使用set frontmost to true或聚焦它activate application "SecurityAgent"

tell application "System Events" to tell process "SecurityAgent"
    set frontmost to true
end

您还可以使用 UI 脚本设置密码字段的值,然后单击确定按钮:

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "password"
    click button 2 of group 2 of window 1
end tell
于 2012-11-27T12:41:00.967 回答
0

对于 Yosemite,SecurityAgent 对话框有所不同

tell application "DiskWarrior"
    open
end tell
delay 1
tell application "System Events"
    tell process "SecurityAgent"
        set value of text field 2 of window 1 to "yourPassword"
        click button 2 of window 1
    end tell
end tell
于 2015-05-15T06:00:48.120 回答