AppleScript เปลี่ยนเว็บเบราว์เซอร์เริ่มต้น


0

ฉันต้องการที่จะเปลี่ยนเว็บเบราว์เซอร์เริ่มต้นของ Mac เป็น Google Chrome โดยใช้ AppleScript นี่คือความคิดของฉัน:

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

อย่างไรก็ตามฉันได้รับหน้าต่างนี้โผล่ขึ้นมาเสมอซึ่งฉันไม่สามารถจัดการกับโปรแกรมได้ด้วยเหตุผลบางอย่าง ฉันต้องการเลือก "ใช้ Chrome"

Pop-up screenshot

ฉันรู้วิธีเปลี่ยนด้วยตนเองไม่กี่วิธีเช่นในแท็บ 'ทั่วไป' ของการตั้งค่าระบบ แต่ฉันต้องการสิ่งที่เชื่อถือได้เช่นคำสั่งเชลล์นี้
ฉันจะทำสิ่งข้างต้นผ่าน AppleScript ได้อย่างไร


ฉันเดาว่าฉันสับสน หากผู้ใช้จะต้องตอบกลับข้อความโต้ตอบแรก ("คุณต้องการเปลี่ยนเป็น Chrome หรือไม่") ทำไมไม่เพียงแค่เรียกใช้คำสั่งเชลล์ของคุณก่อนและให้ผู้ใช้เลือก ณ จุดนั้น? มันเป็นสิ่งเดียวกันกับบทสนทนาของคุณ
tubedogg

@tubedogg มันเป็นเพียงตัวอย่างการใช้งานของรหัส มันเป็นส่วนหนึ่งของโครงการขนาดใหญ่ที่ผู้ใช้ไม่จำเป็นต้องโต้ตอบเลย
ProGrammer

คำตอบ:


0

คุณสามารถจัดการกับหน้าต่างการยืนยันผ่านสคริปต์ UI นี่จะกดปุ่ม“ ใช้”:

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

แหล่ง


มีวิธีตรวจสอบว่าไดอะล็อกนี้กำลังแสดงอยู่หรือไม่? เนื่องจากจะเป็นส่วนหนึ่งของโครงการขนาดใหญ่กล่องโต้ตอบอาจไม่มีอยู่ในกรณีที่ Google Chrome เป็นเบราว์เซอร์เริ่มต้นอยู่แล้ว เห็นได้ชัดว่าจะมีข้อผิดพลาดเมื่อรหัสถูกเรียกโดยไม่มีหน้าต่างอยู่ที่นั่น
ProGrammer

@ProGrammer คุณสามารถห่อเป็น try กลุ่ม ด้วยวิธีนี้ข้อผิดพลาดใด ๆ จะถูกปิดบัง
Tom

@ProGrammer ฉันแก้ไขโพสต์ของฉัน: ล้อมรอบ try บล็อก แทนที่ Space bar press ด้วยการกดปุ่มโดยตรง
Tom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.