Chrome自动删除MHT网页归档文件问题求助(附Shell脚本)
解决Chrome自动删除下载文件(含脚本归档场景)的问题
可能的原因与对应解决方法
1. 检查Chrome自动清理下载内容的设置
Chrome自带自动清理下载文件的隐藏功能,按以下步骤确认:
- 在Chrome地址栏输入
chrome://settings/downloads - 找到下载内容板块下的自动清除已下载的文件选项,确保处于关闭状态
- 调整后重启Chrome再测试操作
2. 调整macOS文件访问权限
macOS的隐私权限可能限制Chrome在指定目录留存文件:
- 打开「系统设置」→「隐私与安全性」→「文件与文件夹」
- 找到Google Chrome,勾选桌面(对应脚本里的保存目录)的访问权限
- 重启Chrome后重新运行脚本
3. 修正脚本中的文件名规则
脚本里的文件名包含逗号,可能触发Chrome的安全检测,修改文件名生成逻辑:
# 原文件名代码 # FILE_NAME="$PAGE_TITLE,$DATE.mht" # 修改为(替换所有特殊字符为下划线) PAGE_TITLE=${PAGE_TITLE//[,:\/ ]/_} FILE_NAME="${PAGE_TITLE}_${DATE}.mht"
4. 解除Chrome下载限制策略
针对脚本这类非手动触发的下载,调整Chrome的下载限制:
- 在Chrome地址栏输入
chrome://flags/#download-restrictions - 将选项设置为 No restrictions(无限制)
- 重启Chrome后执行脚本
优化后的完整脚本
结合上述修改,调整后的脚本兼容性更强:
#!/bin/bash # 设置目标网址 URL="https://thescottsdaleherald.com/" # 保存目录 SAVE_DIR="$HOME/Desktop/" # 获取时间戳(小时-日-月-年) DATE=$(date +'%H-%d-%m-%Y') # 打开Chrome并访问网址 open -a "Google Chrome" "$URL" # 等待页面加载(可根据网速调整时长) sleep 8 # 获取页面标题并清理特殊字符 PAGE_TITLE=$(osascript -e 'tell application "Google Chrome" to return title of active tab of window 1') # 替换逗号、冒号、斜杠、空格为下划线 PAGE_TITLE=${PAGE_TITLE//[,:\/ ]/_} # 生成安全的文件名 FILE_NAME="${PAGE_TITLE}_${DATE}.mht" FULL_PATH="$SAVE_DIR/$FILE_NAME" # 保存页面为MHT归档 osascript -e 'tell application "Google Chrome" to save active tab of window 1 in file "'"$FULL_PATH"'" ' # 可选:自动关闭标签页,避免累积 osascript -e 'tell application "Google Chrome" to close active tab of window 1'
内容的提问来源于stack exchange,提问作者Peter Farago
相关产品推荐
相关产品推荐

