Как дважды щелкнуть изображение или ссылку, чтобы начать установку? APPLESCRIPT [Пожалуйста, просмотрите изображение] - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь автоматизировать установку слабины. Я запускаю .dmg, затем должен дважды щелкнуть значок «Slack», чтобы начать установку. использование функции '' 'click' '' для изображений на самом деле нереально, я догадываюсь .. Я вижу, что URL, по которому это изображение вызывает, является файлом: ///Volumes/Slack.app/Slack.app/ Нужно ли мне вызывать по этой ссылке что ли? Как можно получить одинаковые результаты двойного щелчка по изображению.

Снимок экрана инспектора специальных возможностей

tell application "Finder" set myFolder to container of (path to me) as alias end tell tell application "Finder" open document file "Slack-4.3.3-macOS.dmg" of myFolder end tell tell application "System Events" tell process "Finder" click image "Slack" of group 1 of list 1 of list 1 of scroll area 1 of splitter group 1 of splitter group 1 of window "Slack" end tell end tell

Снимок экрана инспектора специальных возможностей

1 Ответ

0 голосов
/ 23 марта 2020

Если вы по-прежнему заинтересованы в выполнении этой работы, щелкнув изображение в AppleScript, попробуйте следующий код:

tell application "System Events"
    tell its application process "Finder"
        tell image "Slack.app" of group 1 of list 1 of list 1 of scroll area 1 of splitter group 1 of splitter group 1 of window "Slack.app"
            ignoring application responses
                perform action "AXShowMenu"
            end ignoring
        end tell
    end tell
end tell

delay 0.3
do shell script "killall System\\ Events"
delay 0.1

tell application "System Events"
    tell its application process "Finder"
        tell image "Slack.app" of group 1 of list 1 of list 1 of scroll area 1 of splitter group 1 of splitter group 1 of window "Slack.app"
            --key code 125 --also can try use arrow key to select item in context menu
            keystroke "Open"
            delay 0.2
            keystroke return
        end tell
    end tell
end tell

Я тестирую этот код на моем MacOS 10.12.6, он работает нормально. Несмотря на то, что для выполнения этой работы легко использовать команду терминала, этот метод включает в себя очень полезную точку знаний AS.

1st: выполнить действие "AXOpen" и "AXShowMenu"

2nd: показать контекст меню и выберите пункт меню

3-й: справиться с системной задержкой

Если проблема не возникает, вы можете попробовать приведенный ниже код, который является более простым (также работает на моем компьютере ):

tell application "System Events"
    tell its application process "Finder"
        tell image "Slack.app" of group 1 of list 1 of list 1 of scroll area 1 of splitter group 1 of splitter group 1 of window "Slack.app"
            perform action "AXShowMenu"
            delay 0.3
            keystroke "Open"
            delay 0.2
            keystroke return
        end tell
    end tell
end tell
...