1
1
mirror of https://github.com/KenanZhu/AutoLibrary.git synced 2026-06-17 23:13:03 +08:00

feat(LibCheckin): 支持校园网环境下图书馆远程签到

- 新增 __enableCheckinBtn 方法,通过 JavaScript 移除签到按钮的 disabled 属性
- 在检测到签到按钮不可用时,自动尝试启用按钮而非直接失败
- 支持在校园网环境下无需连接图书馆网络即可完成签到
- 优化签到流程的用户提示信息"
This commit is contained in:
2026-03-16 16:55:52 +08:00
parent 24bb76d039
commit 01e8100774
+29 -2
View File
@@ -88,6 +88,31 @@ class LibCheckin(LibOperator):
return False
def __enableCheckinBtn(
self
) -> bool:
script = """
try {
var checkin_btn = document.getElementById('btnCheckIn');
if (checkin_btn) {
checkin_btn.classList.remove('disabled');
return true;
}
return false;
} catch (e) {
return false;
}
"""
result = self.__driver.execute_script(script)
time.sleep(0.1)
if result:
self._showTrace("签到按钮已启用")
else:
self._showTrace("签到按钮启用失败")
return result
def checkin(
self,
username: str
@@ -104,8 +129,10 @@ class LibCheckin(LibOperator):
self._showTrace(f"用户 {username} 签到界面加载失败 !")
return False
if "disabled" in checkin_btn.get_attribute("class"):
self._showTrace("签到按钮不可用, 可能不在场馆内, 请连接图书馆网络后重试")
return False
self._showTrace("签到按钮不可用, 可能不在场馆内, 正在尝试启用......")
if not self.__enableCheckinBtn():
self._showTrace(f"签到按钮启用失败 !")
return False
checkin_btn.click()
if self._waitResponseLoad():
self._showTrace(f"用户 {username} 签到成功 !")