입력 용 파일 선택 Safari AppleScript 모양입니다 (실제 의료 기록이므로 실제 사이트를

AppleScript로 웹 사이트에 파일 업로드를 자동화하려고합니다. 필자는 거의 마지막 단계를 밟았지만 스크립트에 응답하는 Finder (파일 선택기) 창을 표시 할 수 없습니다.

다음은 사이트의 모양입니다 (실제 의료 기록이므로 실제 사이트를 제공 할 수 없습니다).

enter image description here

파일을 업로드하는 과정은 Apple / Javascript에서 할 수있는 “이미지 추가”를 누르는 것입니다. 이렇게하면 Finder (파일 선택기) 창이 나타납니다 (다시 개인 정보 문제로 인해 부분 만 표시 할 수 있습니다). 하단에는 표준 “선택”및 “취소”버튼이 있습니다.

enter image description here

이 Finder 윈도우가 Applescript에 응답하는 방법을 찾을 수 없습니다. 나는 다음과 같은 것들을 시도해왔다.

tell application "System Events"
    keystroke tab
end tell

Finder 등을 사용하는 수많은 다른 사람들

이 창에서 파일을 선택하는 방법에 대한 아이디어가 있습니까? 또는이 창으로 가야합니까? 아니면이 창의 속성을 찾으십니까?

감사.



답변

“Finder”창이 아닙니다. 그것은 원정 여행

선택할 파일을 어떻게 알았는지 명확하게 알지 못했습니다.
그래서 부분적으로 하드 코딩하여 스크립트로 작성한다고 가정합니다.

이 예제에서는 파일에 대한 경로 문자열을 형성 할 수 있다고 가정합니다.

이 예는이 Ask-different 페이지 중 하나의 이미지를 클릭하여 답변에 추가하는 경우에도 작성됩니다.

이미 AppleScript / js로 버튼을 클릭하는 방법을 알고 있습니다.

그러나 키 입력을 사용하여 명령을 입력 할 수 있습니다 + cmd + 시프트 ‘Choose’대화 상자에서 ‘Go to ..’시트가 열립니다.

그런 다음 파일 경로를 키 입력합니다.

다음 두 버튼 인 ‘이동’과 ‘선택’이 기본값이므로 Enter 키를 눌러서 다시 누르십시오.

(이 이미지는 스크립트를 사용하여 업로드되었습니다) enter image description here


activate application "Safari"
tell application "Safari"
    tell document 1

        do JavaScript "document.getElementsByClassName('wmd-button')[5].click()"
        delay 1

        do JavaScript "document.getElementById('filename-input').click()"
    end tell

end tell
tell application "System Events"
    keystroke "G" using {command down, shift down}
    delay 1
    keystroke "~/Desktop/image/image.png"
    delay 1
    keystroke return

    delay 1
    keystroke return

    delay 1

end tell

tell application "Safari"
    tell document 1
        do JavaScript "document.getElementById('add-picture').click()"
    end tell
end tell


답변