0

我正在使用 UI 脚本编写带有 applescript 的 iTunes 脚本。根据我在做什么,会出现一个 iTunes 通知,此时我需要处理它。窗口的名称是 AXWindow:"",我无法让 applescript 处理它。我尝试使用文字“”,尝试将变量定义为“”,尝试使用转义字符的两种情况,并尝试获取最前面进程的名称。

tell application "System Events"
     set processName to name of front window
end tell
tell button "whatever" of window processName
     click
end tell

但这会出现“错误“系统事件出现错误:无法获取窗口 1。无效索引。”任何对此的帮助将不胜感激。

4

2 回答 2

0

你可以这样做:

tell application "iTunes" to activate
tell application "System Events"
    tell process "iTunes"
        set xxx to first UI element whose role description is "dialog"
    end tell
end tell

或者找到它们:

tell application "iTunes" to activate
tell application "System Events"
    tell process "iTunes"
        set xxx to every UI element
    end tell
end tell
于 2012-06-12T15:19:06.493 回答
0

好吧,通常通知或用户对话框将显示为最前面的窗口,并保持在同一应用程序的其他窗口的顶部,直到用户(或脚本)单击某些内容。

因此,对话窗口(如果有的话)应该可以通过说明符访问window 1。然后,您可以通过阅读其属性进一步检查这是否真的是您感兴趣的窗口:

tell application "System Events" to tell application process "iTunes"
  properties of window 1
end tell
于 2012-06-12T15:08:07.113 回答