Chrome과의 자동 상호 작용 나는 재미난 너트가있다. 스노우 레오파드 (Snow Leopard)를

좋아, 나는 재미난 너트가있다.

스노우 레오파드 (Snow Leopard)를 실행하는 하나의 소박한 G5 (예, 그래픽 카드 4 개, 너비 약 15,000 픽셀)에 8 개의 스크린을 설치했습니다. 각기 다른 URL을 가리키는 8 개의 Chrome 브라우저 창을 전체 화면으로 표시하는 데모를 설정하고 있습니다. 컴퓨터를 다시 시작할 때마다이 작업을 수동으로 수행하는 것은 고통 스럽습니다.

이 설정이 주어지면 스크립트를 자동으로 작성하고 싶습니다.

  1. 특정 화면으로 크롬 창 열기
  2. 해당 창을 특정 URL로 지정
  3. 해당 화면 전체 화면 (command-F는 키보드 단축키 임)

나는 자동화기를 사용하지 않았으며 쉘 스크립팅에 특히 익숙하지 않지만 군중의 멋진 제안이 있는지 궁금합니다.

업데이트 : 고급 기능을 위해 Automator를 사용해야하더라도 궁극적으로 명령 줄 / 스크립트에서 스크립트를 트리거하는 방법을 원합니다. 필요한 경우 쉘에서 원격 으로이 데모를 켤 수 있기를 바랍니다.



답변

나는 그것을 알아!

Applescript는 훌륭한 리소스이며 Chrome에는 사전이 있습니다 ( “Applescript 편집기”에서 확인한 다음 “사전 열기”를 선택하고 목록에서 Chrome을 찾을 수 있음).

코드:

set screenCount to 8
set screenWidth to 1950
set baseURL to "http://localhost:8000"

tell application "Google Chrome"
    activate
    repeat while window 1 exists
        close window 1
    end repeat
    repeat with x from 1 to screenCount

        set w to make new window with properties {bounds:{screenWidth * (x - 1), 500, 500 + screenWidth * (x - 1), 1000}}
        tell application "System Events" to keystroke "F" using {command down, shift down}
        set URL of active tab of w to (baseURL & "/" & "#" & (x - 1))

    end repeat
end tell

스크립트는 다음을 수행합니다.

  1. Chrome을 활성화합니다 (열거 나 열면 초점을 맞 춥니 다)
  2. 열려있는 브라우저 창을 모두 닫습니다.
  3. [screenCount] 브라우저 창을 만들어 특정 좌표로 엽니 다 ({bounds}의 처음 두 항은 왼쪽 상단의 x, y입니다. {bounds}의 두 번째 두 항은 하단의 x, y입니다. 권리)
  4. 각 브라우저 창이 열리면 “전체 화면”명령을 보냅니다 (Command + Shift + F).
  5. 각 브라우저 창이 전체 화면으로 표시된 후 URL을 원하는 위치로 설정하십시오.

내 URL은 특정 수식 (예 : http : // localhost : 8000 / # 0 )에 적합하므로 동적으로 쉽게 생성 할 수 있습니다. 무작위로 비슷한 요구를 가진 사람은 이것을 출발점으로 사용할 수 있습니다.

마지막으로 터미널 요구 사항은 다음 줄을 사용하여 터미널에서 applescript를 실행할 수 있습니다.

osascript [스크립트 이름]


답변