입력 용 파일 선택 Safari AppleScript


2

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

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

enter image description here

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

enter image description here

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

tell application "System Events"
    keystroke tab
end tell

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

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

감사.


파일을 알고 코드에 하드 코딩한다고 말하고 있습니까?
markhunte

답변:


1

"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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.