--- title: "v0.1.0-alpha 用户手册" description: "AutoLibrary v0.1.0-alpha 版本用户手册 - 新增自动签到功能" icon: "book" --- ## 工具简介 AutoLibrary 是一款专为北京建筑大学图书馆设计的自动化工具,旨在帮助学生简化图书馆座位操作流程,节省宝贵时间。 本工具模拟人工操作,通过简单的界面配置并交互使用。 ### 工具特点 模拟人工操作,不干扰图书馆系统正常运行 多种功能使用场景 支持多账号批量预约 自动处理验证码 ## 准备工作 ### 下载浏览器驱动 工具需要通过浏览器驱动来控制浏览器,请根据您使用的浏览器下载对应版本的驱动: - **Microsoft Edge** — 适用于Windows 10/11系统 [下载驱动](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/) - **Google Chrome** — 最常用的浏览器 [下载驱动](https://developer.chrome.google.cn/docs/chromedriver/downloads) - **Mozilla Firefox** — 开源浏览器 [下载驱动](https://github.com/mozilla/geckodriver/releases) ## 使用步骤 ### 启动工具 双击运行AutoLibrary.exe文件,工具将启动主界面。 > **提示:**软件首次启动,未初始化配置文件,直接运行脚本会提示失败。 ![运行主界面](/images/v0.1.0-alpha/运行主界面.png) ### 配置工具 对于不同用户的需求,你可以使用两种不同的方式来配置工具 1. 使用界面配置:点击主界面窗口右上角的配置按钮,打开配置窗口。 ![配置窗口-用户配置](/images/v0.1.0-alpha/配置窗口-用户配置.png) > **提示:**初次运行软件时,用户配置默认为空,需要手动添加。 #### 用户列表 | 功能 | 说明 | 备注 | | --- | --- | --- | | 用户列表 | 显示当前配置文件中的所有用户 | 支持添加、删除用户操作,选中用户项进行详细配置 | #### 用户信息 | 参数 | 说明 | 默认值/可选值 | | --- | --- | --- | | 学号 | 用户的学号 | 必填项,用于登录图书馆系统 | | 密码 | 用户的密码 | 默认值为"000000",首次使用请修改 | #### 预约信息 | 参数 | 说明 | 默认值/可选值 | | --- | --- | --- | | 日期 | 座位预约日期 | 格式:YYYY-MM-DD,默认显示当前日期(18:00-23:00可预约次日) | | 地点 | 预约座位的地点 | 默认值:"图书馆" | | 楼层 | 预约座位的楼层 | 默认值:"二层",可选:"二层"、"三层"、"四层"、"五层" | | 区域 | 预约座位的区域 | 默认值:"二层内环" | | 座位号 | 预约座位的座位号 | 例如:"12A"、"012a"等 | | 开始时间 | 预约座位的开始时间 | 格式:HH:mm,默认当前时间,可选范围:7:30-23:30 | | 结束时间 | 预约座位的结束时间 | 格式:HH:mm,默认当前时间+2小时,可选范围同开始时间 | | 最大时间偏差 | 时间不可用时的最大偏差范围 | 单位:分钟,可选范围:0-120,0表示严格按选择时间 | | 优先选择最早/晚 | 当存在多个可选时间时的优先级 | 开始时间优先最早,结束时间优先最晚 | | 期望时长 | 预约座位的期望时长 | 单位:小时,可选范围:0-8,默认:2小时 | | 优先满足期望时长 | 是否优先满足时长限制 | 勾选后可能因座位紧张导致预约失败 | ![配置窗口-系统配置](/images/v0.1.0-alpha/配置窗口-系统配置.png) #### 图书馆设置 | 参数 | 说明 | 默认值/备注 | | --- | --- | --- | | 访问网址 | 图书馆系统的主机URL | 默认值:http://10.1.20.7,无需更改 | | 登录页面 | 登录页面的URL路径 | 默认值:/login,无需更改 | #### 浏览器设置 | 参数 | 说明 | 默认值/可选值 | | --- | --- | --- | | 浏览器类别 | 选择使用的浏览器类型 | 支持:Edge Chromium、Google Chrome、Mozilla Firefox | | 浏览器驱动路径 | 浏览器驱动程序路径 | 通过浏览按钮选择对应版本的浏览器驱动 | | 无头模式 | 是否隐藏浏览器窗口 | 默认:false(显示窗口),true为隐藏窗口运行 | #### 登录设置 | 参数 | 说明 | 默认值/可选值 | | --- | --- | --- | | 自动识别验证码 | 是否自动处理验证码 | 默认:勾选(推荐) | | 登录尝试次数 | 登录失败后的最大重试次数 | 默认:3次 | #### 运行模式 | 功能 | 说明 | 备注 | | --- | --- | --- | | 自动预约 | 按配置进行座位预约 | 用户当天无有效预约时执行 | | 自动签到 | 自动完成图书馆签到 | 满足条件时执行,否则跳过 | | 自动续约 | 自动延长座位使用时间 | 满足条件时执行,否则跳过 | ![配置窗口-其它](/images/v0.1.0-alpha/配置窗口-其它.png) #### 当前配置: | 参数 | 说明 | 操作 | | --- | --- | --- | | 系统配置文件路径 | 当前使用的系统配置文件路径 | 可通过浏览按钮选择新的配置文件 | | 用户配置文件路径 | 当前使用的用户配置文件路径 | 可通过浏览按钮选择新的配置文件 | #### 导出配置: | 功能 | 说明 | 操作 | | --- | --- | --- | | 导出配置文件 | 将当前配置导出为文件 | 选择目标路径和文件名后点击导出按钮 | 2. 使用配置文件:在脚本可执行文件的根目录创建系统配置文件system.json和用户配置文件users.json。 用户配置文件 system.json文件控制工具的基本运行参数: ``` { "library": { "host_url": "http://10.1.20.7", "login_url": "/login" }, "mode": { "run_mode": 1 }, "login": { "auto_captcha": true, "max_attempt": 3 }, "web_driver": { "driver_type": "edge", "driver_path": "msedgedriver.exe", "headless": false } } ``` #### 参数说明 | 参数 | 类型 | 说明 | | --- | --- | --- | | library/ | | | | ./host_url | string | 图书馆主机URL,无需更改 | | ./login_url | string | 登录页面URL,无需更改 | | mode/ | | | | ./run_mode | number | 运行模式,可组合使用(+1:自动预约, +2:自动签到) | | login/ | | | | ./auto_captcha | boolean | 自动验证码识别,建议保持true | | ./max_attempt | number | 登录尝试次数,默认3次 | | web_driver/ | | | | ./driver_type | string | 浏览器类型(edge/chrome/firefox) | | ./driver_path | string | 驱动文件路径 | | ./headless | boolean | 无头模式,默认false(显示浏览器窗口) | users.json文件控制用户的预约和签到参数: ``` { "users": [ { "username": "您的学号", "password": "您的密码", "reserve_info": { "date": "2025-10-30", "place": "1", "floor": "4", "room": "5", "begin_time": { "time": "09:30", "max_diff": 30, "prefer_early": true }, "end_time": { "time": "21:23", "max_diff": 30, "prefer_early": false }, "seat_id": "31A", "expect_duration": 6 "satisfy_duration": true } }, /* 可以添加多个上述的配置块,每个用户预约信息独立配置 */ ] } ``` #### 参数说明 > **提示:** 可以添加多个用户,工具会按顺序处理每个用户的预约请求。 | 参数 | 类型 | 说明 | | --- | --- | --- | | username | string | 学号 | | password | string | 密码 | | reserve_info/ | | | | ./date | string | 预约日期(格式:YYYY-MM-DD) | | ./place | string | 图书馆或字符"1"(预约图书馆) | | ./floor | string | 预约楼层 **点击查看** "2": "二层" "3": "三层" "4": "四层" "5": "五层" | | ./room | string | 预约区域 **点击查看** "1": "二层内环" "2": "二层外环" "3": "三层内环" "4": "三层外环" "5": "四层内环" "6": "四层外环" "7": "四层期刊区" "8": "五层考研" | | ./seat_id | string | 座位编号(例如:"12A/12a/012A/012a") | | ./expect_duration | number | 期望预约时长(分钟) | | ./satisfy_duration | bool | 是否满足期望预约时长 | | /begin_time/ ././time | string | 预约开始时间(格式:HH:mm) | | ././max_diff | number | 最大时间差(分钟) | | ././prefer_early | bool | 是否优先预约较早的时间 | | ./end_time/ ././time | string | 预约结束时间(格式:HH:mm) | | ././max_diff | number | 最大时间差(分钟) | | ././prefer_early | bool | 是否优先预约较早的时间 | ### 监控运行状态 如果系统设置中没有勾选浏览器无头模式运行,工具会在运行过程中打开浏览器窗口,显示自动运行过程。 除此之外,你还可以通过软件的运行日志输出区域查看详细的运行状态和错误信息。 ![监控运行状态](/images/v0.1.0-alpha/监控运行状态-运行图.png) ### 查看运行结果 软件运行结束后日志会显示本次运行结果:"处理完成, 共计 n 个用户, 成功 n 个用户, 失败 m 个用户, 跳过 s 个用户"。 ![查看运行结果](/images/v0.1.0-alpha/监控运行状态-运行结果.png) ## 功能介绍 ### 自动预约 如果用户当前没有有效预约时,工具会自动为您预约指定座位。 > **适用场景:** 提前预约第二天的座位 ### 自动签到 如果用户当前已有预约,且在可签到时间范围(开始时间的前后30分钟)内,工具会自动完成签到。 > **适用场景:** 因忘记签到而导致失约,影响正常使用 ### 模式组合使用 运行模式可以组合使用,只需在配置窗口中勾选对应模式即可: ## 故障排除 ### 常见问题及解决方法 ### 工具启动时报错"无法找到驱动/Unable to obtain driver"等类似报错信息 这是大概率是因为浏览器驱动未正确安装或版本不匹配。