我为称为的应用程序编写了一个applescript。但是我有一个例外的问题:(
对不起,但是“发布图片至少需要10个声誉。”
我的问题在哪里?
tell application "System Events" to tell process "EndpointConnect"
tell menu bar item 1 of menu bar 2
click
click menu item "Disconnect" of menu 1
end tell
end tell
实际结果是:
error "System Events got an error: Can’t get menu 1 of menu bar item 1 of menu bar 2 of process \"EndpointConnect\". Invalid index." number -1719 from menu 1 of menu bar item 1 of menu bar 2 of process "EndpointConnect"
答案 0 :(得分:0)
按原样运行的脚本在尚不存在的对象上执行click
。基本上,您需要在两个delay
命令之间使用click
,以使系统有时间实例化菜单及其菜单项。
这是我无法为您测试的修改,但我希望它能起作用:
tell application "System Events" to tell ¬
process "EndpointConnect" to tell ¬
menu bar 2 to tell ¬
menu bar item 1
if not (exists) then return null
click
tell (a reference to menu item "Disconnect" of menu 1)
repeat until it exists
delay 0.5
end repeat
click
end tell
end tell
但是,由于某些未知的原因,您可能会在菜单外观和单击菜单项之间得到5秒钟的烦人延迟。它是众所周知的/有文件记录的,经常被抱怨,还有一个长达多年未解决的问题,也许永远不会解决。