AppleScript更改默认Web浏览器


0

我希望能够使用AppleScript将Mac的默认Web浏览器更改为Google Chrome。这是我的想法:

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”。

弹出屏幕截图

我知道一些改变它的手动方法,例如在系统偏好设置的“常规”选项卡中,但我需要一些可靠的东西,比如这个shell命令。
如何通过AppleScript完成上述操作?


我想我很困惑。如果用户将不得不回复第一个对话框(“您想要更改为Chrome吗?”),为什么不首先运行shell命令并让用户在此时选择?它与你的对话框是一回事。
tubedogg 2016年

@tubedogg这只是代码的一个示例实现。它是一个更大的项目的一部分,用户根本不需要进行交互。
ProGrammer 2016年

Answers:


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 2016年

@ProGrammer你可以将它包装在一个try块中。这样就会掩盖任何错误。
汤姆

@ProGrammer我编辑了我的帖子:包裹在try块中; 用直接按钮取代空格键印刷机。
汤姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.