AppleScript untuk mengubah browser web default

0

Saya ingin dapat mengubah browser web default Mac saya ke Google Chrome menggunakan AppleScript. Ini ide saya:

set result to button returned of (display dialog "Would you like to change to Chrome?")
if result = "OK" then
    do shell script ("open -a 'Google Chrome' --args --make-default-browser")
else
    display dialog "No change in the default web browser"
end if

Namun, saya selalu mendapatkan jendela ini yang tidak bisa saya atasi secara pemrograman karena suatu alasan. Saya ingin memilih "Gunakan Chrome".

Tangkapan layar munculan

Saya tahu beberapa cara manual untuk mengubahnya, seperti pada tab 'General' pada System Preferences tetapi saya memerlukan sesuatu yang dapat diandalkan seperti perintah shell ini.
Bagaimana cara menyelesaikan di atas melalui AppleScript?

Programmer
sumber
Saya kira saya bingung. Jika pengguna harus menanggapi dialog pertama ("Apakah Anda ingin mengubah ke Chrome?") Mengapa tidak menjalankan perintah shell Anda terlebih dahulu dan meminta pengguna memilih pada saat itu? Itu sama dengan dialog Anda.
tubedogg
@tubedogg Itu hanya contoh implementasi kode. Ini adalah bagian dari proyek yang lebih besar di mana pengguna tidak perlu berinteraksi sama sekali.
ProGrammer

Jawaban:

0

Anda dapat menangani jendela konfirmasi melalui skrip UI. Ini akan menekan tombol "Gunakan":

try
  tell application "System Events"
    tell application process "CoreServicesUIAgent"
      tell window 1
        tell (first button whose name starts with "use")
          perform action "AXPress"
        end tell
      end tell
    end tell
  end tell
end try

Sumber

Tom
sumber
Apakah ada cara untuk memeriksa apakah dialog ini sedang ditampilkan? Karena ini akan menjadi bagian dari proyek yang lebih besar, dialog mungkin tidak ada jika Google Chrome sudah menjadi browser default. Jelas akan ada kesalahan ketika kode dipanggil tanpa ada jendela.
ProGrammer
@ProGrammer Anda dapat membungkusnya dalam satu tryblok. Dengan begitu setiap kesalahan akan ditutup-tutupi.
Tom
@ProGrammer Saya mengedit posting saya: Dibungkus dalam tryblok; mengganti pers Space bar dengan tombol langsung tekan.
Tom