AutoLibrary

AutoLibrary

工具简介

AutoLibrary 是一款专为北京建筑大学图书馆设计的自动化工具,旨在帮助学生简化图书馆座位操作流程,节省宝贵时间。

本工具模拟人工操作,通过简单的界面配置并交互使用。

工具特点

    模拟人工操作,不干扰图书馆系统正常运行

    多种功能使用场景

    支持多账号批量预约

    自动处理验证码

准备工作

下载浏览器驱动

工具需要通过浏览器驱动来控制浏览器,请根据您使用的浏览器下载对应版本的驱动:

Microsoft Edge

适用于Windows 10/11系统

下载驱动

Google Chrome

最常用的浏览器

下载驱动

Mozilla Firefox

开源浏览器

下载驱动
提示: 浏览器驱动版本必须与您的浏览器版本兼容,否则本工具将无法正常工作。

确认驱动路径

下载驱动后,将浏览器驱动程序的路径通过配置窗口加载到AutoLibrary中。例如:

C:\Users\Administrator\Downloads\msedgedriver.exe
浏览器驱动路径示意图

使用步骤

启动工具

双击运行AutoLibrary.exe文件,工具将启动主界面。

提示:软件首次启动,未初始化配置文件,直接运行脚本会提示失败。
运行主界面

配置工具

对于不同用户的需求,你可以使用两种不同的方式来配置工具

1. 使用界面配置:点击主界面窗口右上角的配置按钮,打开配置窗口。

配置窗口-用户配置
提示:初次运行软件时,用户配置默认为空,需要手动添加。

用户列表

功能 说明 备注
用户列表 显示当前配置文件中的所有用户 支持添加、删除用户操作,选中用户项进行详细配置

用户信息

参数 说明 默认值/可选值
学号 用户的学号 必填项,用于登录图书馆系统
密码 用户的密码 默认值为"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小时
优先满足期望时长 是否优先满足时长限制 勾选后可能因座位紧张导致预约失败
配置窗口-系统配置

图书馆设置

参数 说明 默认值/备注
访问网址 图书馆系统的主机URL 默认值:http://10.1.20.7,无需更改
登录页面 登录页面的URL路径 默认值:/login,无需更改

浏览器设置

参数 说明 默认值/可选值
浏览器类别 选择使用的浏览器类型 支持:Edge Chromium、Google Chrome、Mozilla Firefox
浏览器驱动路径 浏览器驱动程序路径 通过浏览按钮选择对应版本的浏览器驱动
无头模式 是否隐藏浏览器窗口 默认:false(显示窗口),true为隐藏窗口运行

登录设置

参数 说明 默认值/可选值
自动识别验证码 是否自动处理验证码 默认:勾选(推荐)
登录尝试次数 登录失败后的最大重试次数 默认:3次

运行模式

功能 说明 备注
自动预约 按配置进行座位预约 用户当天无有效预约时执行
自动签到 自动完成图书馆签到 满足条件时执行,否则跳过
自动续约 自动延长座位使用时间 满足条件时执行,否则跳过
配置窗口-其它

当前配置:

参数 说明 操作
系统配置文件路径 当前使用的系统配置文件路径 可通过浏览按钮选择新的配置文件
用户配置文件路径 当前使用的用户配置文件路径 可通过浏览按钮选择新的配置文件

导出配置:

功能 说明 操作
导出配置文件 将当前配置导出为文件 选择目标路径和文件名后点击导出按钮

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 是否优先预约较早的时间

监控运行状态

如果系统设置中没有勾选浏览器无头模式运行,工具会在运行过程中打开浏览器窗口,显示自动运行过程。

除此之外,你还可以通过软件的运行日志输出区域查看详细的运行状态和错误信息。

监控运行状态

查看运行结果

软件运行结束后日志会显示本次运行结果:“处理完成, 共计 n 个用户, 成功 n 个用户, 失败 m 个用户, 跳过 s 个用户”。

查看运行结果

功能介绍

自动预约

如果用户当前没有有效预约时,工具会自动为您预约指定座位。

适用场景: 提前预约第二天的座位

自动签到

如果用户当前已有预约,且在可签到时间范围(开始时间的前后30分钟)内,工具会自动完成签到。

适用场景: 因忘记签到而导致失约,影响正常使用

模式组合使用

运行模式可以组合使用,只需在配置窗口中勾选对应模式即可:

    1. 自动预约 + 自动签到(推荐)
      自动预约

故障排除

常见问题及解决方法

工具启动时报错"无法找到驱动/Unable to obtain driver"等类似报错信息

这是大概率是因为浏览器驱动未正确安装或版本不匹配。

      1,检查驱动文件是否放置在正确位置
      2,确认驱动版本与浏览器版本完全匹配,例如:Chrome浏览器需要对应版本的chromedriver.exe,切勿混用
      3,尝试重新下载并安装驱动
登录失败,提示账号密码错误

请检查配置界面中的账号密码是否正确。

      1,确认学号和密码无误
      2,检查是否有不支持的特殊字符需要转义
      3,尝试手动登录图书馆系统确认账号可用
预约失败,提示座位不可用

目标座位可能已被他人预约或不在可预约时间。

      1,确认座位编号是否正确,是否在该楼层指定区域
      2,尝试预约其它座位或调整预约时间,例如调整允许的开始或结束时间的最大偏差,位置紧张情况下可以让脚本根据允许的时间范围选择最佳起始时间

常见问题

使用AutoLibrary是否安全?

AutoLibrary完全模拟人工操作,不干扰图书馆系统正常运行。工具不会收集或上传您的个人信息,所有数据仅保存在本地配置文件中。

可以同时预约多个座位吗?

根据图书馆规定,每个账号同一时间段只能预约一个座位。但您可以在配置界面中添加多个账号,工具会依次处理每个账号的预约请求。

重要:本工具软件旨在简化并辅助用户正常使用时的图书馆服务流程,请勿滥用影响他人及图书馆正常运行。

工具运行期间可以操作电脑吗?

可以正常使用电脑,但请勿操作工具自动打开的浏览器窗口,否则可能会干扰工具的正常运行。

下载安装

获取AutoLibrary

前往下载页面

文件大小:约95MB

系统要求:Windows 10/11,支持Edge/Chrome/Firefox浏览器

安装步骤

      下载压缩包并解压到任意文件夹
      根据您使用的浏览器下载对应版本的驱动
      按照本手册说明配置账号密码等参数
      点击启动脚本,即可开始自动预约和使用座位