我复制了以下脚本以重新加载Safari会话中的所有选项卡时遇到错误。
tell application "Safari"
set a to tabs of the front window
repeat with x in a
set docUrl to URL of x
set URL of x to docUrl
end repeat
end tell
错误消息是“ Safari出现错误:无法在文本类型中输入缺少的值。”
错误似乎在“将x的URL设置为docUrl”行上
这是我第一次尝试使用AppleScript进行编码,因此请原谅任何愚蠢的错误。
谢谢。
答案 0 :(得分:1)
尽管标签显示有效数据,但标签的URL
属性可能返回missing value
。
重新加载所有标签页的更可靠方法是JavaScript行
tell application "Safari"
set allTabs to tabs of the front window
repeat with aTab in allTabs
tell aTab to do JavaScript "location.reload();"
end repeat
end tell
答案 1 :(得分:0)
如果您有几个打开了多个选项卡的窗口,则此方法将起作用。使用最新版本的macOS Mojave,这对我有效
tell application "Safari"
set theTabs to every document
repeat with eachTab in theTabs
tell eachTab to set URL to (get URL)
end repeat
end tell