mirror of
https://github.com/KenanZhu/AutoLibrary.git
synced 2026-06-19 16:03:02 +08:00
feat(LibCheckin): 支持校园网环境下图书馆远程签到
- 新增 __enableCheckinBtn 方法,通过 JavaScript 移除签到按钮的 disabled 属性 - 在检测到签到按钮不可用时,自动尝试启用按钮而非直接失败 - 支持在校园网环境下无需连接图书馆网络即可完成签到 - 优化签到流程的用户提示信息"
This commit is contained in:
@@ -88,6 +88,31 @@ class LibCheckin(LibOperator):
|
|||||||
return False
|
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(
|
def checkin(
|
||||||
self,
|
self,
|
||||||
username: str
|
username: str
|
||||||
@@ -104,8 +129,10 @@ class LibCheckin(LibOperator):
|
|||||||
self._showTrace(f"用户 {username} 签到界面加载失败 !")
|
self._showTrace(f"用户 {username} 签到界面加载失败 !")
|
||||||
return False
|
return False
|
||||||
if "disabled" in checkin_btn.get_attribute("class"):
|
if "disabled" in checkin_btn.get_attribute("class"):
|
||||||
self._showTrace("签到按钮不可用, 可能不在场馆内, 请连接图书馆网络后重试")
|
self._showTrace("签到按钮不可用, 可能不在场馆内, 正在尝试启用......")
|
||||||
return False
|
if not self.__enableCheckinBtn():
|
||||||
|
self._showTrace(f"签到按钮启用失败 !")
|
||||||
|
return False
|
||||||
checkin_btn.click()
|
checkin_btn.click()
|
||||||
if self._waitResponseLoad():
|
if self._waitResponseLoad():
|
||||||
self._showTrace(f"用户 {username} 签到成功 !")
|
self._showTrace(f"用户 {username} 签到成功 !")
|
||||||
|
|||||||
Reference in New Issue
Block a user