如何使用 AppleScript 删除 Safari 缓存?

如何使用 AppleScript 删除 Safari 缓存?

我搜索了这个论坛,但只找到了如何删除历史记录!然而,我对如何从“开发”菜单中删除缓存很感兴趣。我也不想“重置”Safari!

我在使用 macOS BigSur。

答案1

我不会真正测试这一点,因为我真的不想清除缓存——我经常使用它们。
不过,前面的答案可能可以简化为

on run {input, parameters}
    tell application "Safari" 
        activate
        close every window
    end tell
tell application "System Events" to keystroke "e" using {command down, option down}
end run

假设开发者菜单已从首选项中激活。
我还假设(同样未经测试)所有窗口都需要先关闭,否则只能发送键盘命令。

答案2

在搜索了更多类似请求后,我整理了此代码。它确实有用!

on run {input, parameters}
    tell application "Safari"
        close every window
    end tell
    set theApp to "Safari"
    set mt to 6
    set mi to -2
    tell application "System Events" to tell process theApp
        set frontmost to true
        tell menu bar 1 to tell menu bar item mt to ¬
            tell menu 1
                click menu item mi
            end tell
        tell window 1
            click button 2
        end tell
        tell menu bar item 8 of menu bar 1
            click
            click menu item "Empty Caches" of menu 1
        end tell        
    end tell
    return input
end run

相关内容