Applescript: on clicking Menu Bar item via gui script

匿名 (未验证) 提交于 2019-12-03 01:08:02

问题:

I'm trying to make an applescript for an application called F.lux that clicks the menu item "Disable for an Hour" as indicated in the screenshot below:

The element path is indicated in the screenshot below:

Here is my code thus far:

tell application "System Events"     tell process "Flux"         click (menu bar item 1 of menu bar 2)         click menu item "Disable for an hour" of menu 1 of menu bar item 1 of                 menu bar 2     end tell     end tell 

Everything compiles fine, however I keep getting the error message below when I attempt to run the script:

error "System Events got an error: Can’t get menu 1 of menu bar item 1 of menu bar 2 of process \"Flux\". Invalid index." number -1719 from menu 1 of menu bar item 1 of menu bar 2 of process "Flux"

Can someone pinpoint where I'm going wrong with this?

回答1:

This worked for me, but there is a delay of about 5 seconds after the first click command.

tell application "System Events" to tell process "Flux"     tell menu bar item 1 of menu bar 2         click         click menu item "Disable for an hour" of menu 1     end tell end tell 

One workaround is to use ignoring application responses and terminate System Events after the click command:

ignoring application responses     tell application "System Events" to tell process "Flux"         click menu bar item 1 of menu bar 2     end tell end ignoring do shell script "killall System\\ Events" delay 0.1 tell application "System Events" to tell process "Flux"     tell menu bar item 1 of menu bar 2         click menu item "Disable for an hour" of menu 1     end tell end tell 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!