Skip to content

自动网站截屏软件 - 从Excel读取网站配置,定时执行全屏截屏任务

License

Notifications You must be signed in to change notification settings

pgkk/automatic-website-screenshot

Repository files navigation

自动网站截屏软件

自动网站截屏软件是一款基于Python开发的工具,能够按照设定的时间自动打开指定的网站并进行全屏截图。

功能特点

  1. Excel配置:从 config.xlsx 读取网站链接和定时任务
  2. 自动浏览器操作:使用Chrome浏览器自动打开网站
  3. 全屏截图:使用PyAutoGUI进行全屏捕获
  4. 分层目录保存:按照 screenshots/日期/时间点/ 格式保存图片
  5. 自定义文件名:文件名格式为 链接名称_时间点.jpg
  6. 水印功能:支持添加自定义水印
  7. 登录支持:通过浏览器配置文件保存登录状态
  8. 最大化窗口:浏览器以最大化模式打开
  9. 禁用自动化提示:避免浏览器显示自动化控制提示
  10. 日志记录:详细的日志记录,便于故障排查
  11. 系统托盘:提供系统托盘图标和退出选项
  12. 可打包成exe:支持使用PyInstaller打包成独立的可执行文件

安装与配置

环境要求

  • Python 3.8+
  • Chrome浏览器

安装步骤

  1. 安装依赖包:

    pip install -r requirements.txt
  2. 配置Excel文件:

    • 修改 config.xlsx 文件,添加需要截图的网站信息
    • 表格包含三列:链接名称URL时间点
    • 时间点格式:HH:MM,如09:00、14:30
  3. 配置浏览器(首次使用):

    • 运行程序后,浏览器会自动打开
    • 手动登录需要登录的网站
    • 关闭浏览器,配置会自动保存

使用说明

启动程序

python main.py

打包成可执行文件

# 基本打包
python setup.py build_exe

# 打包前清理旧文件
python setup.py build_exe --clean

打包完成后,可执行文件将位于 dist 目录下,文件名为 AutomaticScreenshotTool.exe

配置文件

config.json

{
    "page_load_wait_time": 10,
    "screenshot_dir": "screenshots",
    "filename_format": "{name}_{datetime}",
    "datetime_format": "%Y%m%d_%H%M%S",
    "chromedriver_path": "",
    "enable_watermark": false,
    "fullscreen_capture": true,
    "keep_browser_open": true,
    "use_incognito_mode": false,
    "screen_index": 0,
    "run_on_startup": true
}

配置项说明

配置项名称 类型 默认值 说明
page_load_wait_time 整数 10 页面加载等待时间(秒),确保页面完全加载后再截图
screenshot_dir 字符串 "screenshots" 截图保存根目录,截图将按日期和时间点组织存放
filename_format 字符串 "{name}_{datetime}" 截图文件名格式,{name} 是网站名称,{datetime} 是当前时间
datetime_format 字符串 "%Y%m%d_%H%M%S" 时间格式化字符串,用于生成文件名中的时间部分
chromedriver_path 字符串 "" ChromeDriver路径,留空则使用Selenium自动管理
enable_watermark 布尔值 false 是否添加水印,true表示添加,false表示不添加
fullscreen_capture 布尔值 true 是否截取全屏,true表示截取电脑屏幕全屏,false表示截取浏览器窗口
keep_browser_open 布尔值 true 是否保持浏览器窗口打开,true表示截图后不关闭浏览器,false表示关闭
use_incognito_mode 布尔值 false 是否使用无痕模式,true表示使用无痕模式,false表示正常模式
screen_index 整数 0 要截取的显示器索引,0表示主显示器,1表示第二个显示器,以此类推
run_on_startup 布尔值 true 启动时是否立即执行截图任务,true表示立即执行,false表示只设置定时任务

config.xlsx

链接名称 URL 时间点
示例网站1 https://www.example.com 09:00
示例网站2 https://www.google.com 14:00

截图保存路径

截图将按照以下格式保存:

screenshots/YYYY-MM-DD/HH-MM/网站名称_时间戳.jpg

例如:

screenshots/2025-12-19/09-00/示例网站1_20251219_090000.jpg

日志系统

日志文件保存在 logs 目录下,文件名为 screenshot_tool.log,使用时间轮转方式管理:

  • 日志级别:INFO、WARNING、ERROR
  • 日志格式:包含时间、级别、消息
  • 每日自动创建新的日志文件,保留最近30天
  • 同时在控制台输出日志信息

浏览器配置

  • 程序使用Chrome浏览器进行截图
  • 浏览器配置文件保存在 chrome_user_data 目录下,用于保存登录状态
  • 浏览器以最大化模式打开
  • 禁用了浏览器的自动化控制提示

常见问题与解决方案

ChromeDriver初始化失败

解决方案

  • 确保Chrome浏览器已安装
  • 确保Chrome浏览器版本与ChromeDriver版本匹配
  • 检查网络连接,确保能够下载ChromeDriver

网站无法正常加载

解决方案

  • 检查网络连接
  • 增加 page_load_wait_time 配置,延长页面加载等待时间
  • 检查网站URL是否正确

截图不完整

解决方案

  • 确保浏览器以最大化模式打开
  • 检查屏幕分辨率设置
  • 调整 page_load_wait_time 配置,延长页面加载等待时间

登录状态无法保存

解决方案

  • 确保首次运行时手动登录了网站
  • 检查 chrome_user_data 目录是否有写入权限
  • 避免使用隐身模式

程序无法退出

解决方案

  • 通过系统托盘右键菜单退出
  • 如果托盘图标无响应,可以通过任务管理器结束进程

技术栈

  • Python 3.8+
  • Selenium WebDriver
  • PyAutoGUI
  • Pillow
  • openpyxl
  • schedule
  • pystray
  • logging

更新日志

v1.0.0(2025-12-19)

  • 初始版本发布
  • 支持Excel配置
  • 自动截图功能
  • 水印功能
  • 日志系统
  • 登录支持
  • 最大化窗口
  • 禁用自动化提示
  • 解决退出问题
  • 支持打包成exe文件

About

自动网站截屏软件 - 从Excel读取网站配置,定时执行全屏截屏任务

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages