Tương tác tự động với Google Chrome


9

Được rồi SU, tôi có một hạt vui vẻ để crack.

Tôi có 8 màn hình được thiết lập thành một dòng, tất cả được nối vào một G5 Snow Leopard mạnh mẽ đang chạy (vâng, 4 card đồ họa, rộng khoảng 15.000 pixel!). Tôi đang thiết lập bản demo sử dụng 8 cửa sổ trình duyệt Chrome được sàng lọc toàn bộ, mỗi cửa sổ được trỏ đến một URL khác nhau. Đó là một nỗi đau ở mông để làm điều này bằng tay mỗi khi máy tính được khởi động lại.

Với thiết lập này, tôi muốn tự động viết một tập lệnh:

  1. Mở một cửa sổ chrome cho một màn hình cụ thể
  2. Trỏ cửa sổ đó tới một URL cụ thể
  3. Toàn màn hình cửa sổ đó (lệnh-F là phím tắt)

Tôi chưa sử dụng máy tự động và tôi không đặc biệt quen thuộc với kịch bản shell, nhưng tôi tự hỏi liệu có bất kỳ đề xuất ưa thích nào từ đám đông không.

Cập nhật: Ngay cả khi tôi cần sử dụng Automator cho chức năng cấp cao, cuối cùng tôi vẫn hy vọng có cách kích hoạt tập lệnh từ một dòng lệnh / tập lệnh. Tôi muốn có thể bật bản demo này từ xa nếu cần.


Tôi nghĩ Automater là một nơi tuyệt vời để bắt đầu .. Mặc dù tôi cũng không sử dụng nó nhiều. Tôi đã từng sử dụng một sản phẩm "Egg Plant Purple" mà bạn có thể sử dụng cho việc này - Mặc dù tôi muốn nghĩ rằng có nhiều lựa chọn tốt hơn ngoài kia ..
James T Snell

Tôi nghĩ rằng màn hình cụ thể là những gì sẽ khó đạt được mặc dù.
slhck

Câu trả lời:


8

Tôi đã hiểu rồi!

Applescript là một tài nguyên tuyệt vời và chrome có một từ điển (bạn có thể xem nó trong "Trình chỉnh sửa Applescript" và sau đó chọn "Từ điển mở" và tìm Chrome trong danh sách).

Mật mã:

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

Kịch bản thực hiện như sau:

  1. Kích hoạt Chrome (hoặc mở nó hoặc nếu nó mở, làm cho nó trở thành tiêu điểm)
  2. Đóng mọi cửa sổ trình duyệt đang mở
  3. Tạo các cửa sổ trình duyệt [screenCount], mở chúng tại một tọa độ cụ thể (hai thuật ngữ đầu tiên trong {giới hạn} là x, y của phía trên bên trái. Hai thuật ngữ thứ hai trong {giới hạn} là x, y của phía dưới đúng)
  4. Sau khi mỗi cửa sổ trình duyệt được mở, hãy gửi lệnh "toàn màn hình" (Command + Shift + F)
  5. Sau khi mỗi cửa sổ trình duyệt được sàng lọc đầy đủ, hãy đặt URL đến vị trí mong muốn.

Hãy nhớ rằng các URL của tôi phù hợp với một công thức cụ thể (ví dụ: http: // localhost: 8000 / # 0 ) để dễ dàng tạo chúng một cách linh hoạt. Đối với bất cứ ai có nhu cầu tương tự ngẫu nhiên, bạn có thể sử dụng điều này như một điểm khởi đầu.

Cuối cùng, đối với yêu cầu thiết bị đầu cuối, bạn có thể chạy applescript trên thiết bị đầu cuối bằng cách sử dụng dòng sau:

osascript [scriptname]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.