The following Script works as expected in Script Editor:
tell application "System Events"
set nord to menu bar item 1 of menu bar 2 of application process "NordVPN IKE"
ignoring application responses
click nord
end ignoring
end tell
do shell script "killall System\\ Events"
tell application "System Events"
set nord to menu bar item 1 of menu bar 2 of application process "NordVPN IKE"
tell menu 1 of nord
if exists menu item "Disconnect" then
click menu item "Disconnect"
else
click menu item "Connect"
end if
end tell
end tell
When I export it to a .app
and double click on it to execute, I get the following error:
Can’t get «class menE» 1 of «class mbri» 1 of «class mbar» 2 of «class pcap» "NordVPN IKE" of application "System Events". Invalid index.
System Events got an error: Can’t get menu 1 of menu bar item 1 of menu bar 2 of application process "NordVPN IKE". Invalid index. (-1719)
How can I change the script so it works as a .app
?
Thanks
Best Answer
You need to do two things in order to get this to run:
First of all you need to make sure
System Events
itself has permissions in the Accessibility preference pane.Secondly, you should add a delay after clicking the menu item to give it time to load. That ultimately is what is causing the index error, because the menu hasn't propagated yet and it's trying to access items in it. Change your script to the following: