Applescript中未命名的窗口

时间:2012-06-12 13:40:10

标签: user-interface scripting window applescript itunes

我正在使用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.索引无效。“”对此有任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

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

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

tell application "System Events" to tell application process "iTunes"
  properties of window 1
end tell

答案 1 :(得分: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