自动获取真实姓名作为账号备注(静默完成)

This commit is contained in:
2025-12-12 10:36:47 +08:00
parent 2d0d51da17
commit 8730a0a387
2 changed files with 43 additions and 1 deletions

View File

@@ -132,6 +132,37 @@ class APIBrowser:
fields[name] = field.get('value', '')
return fields
def get_real_name(self) -> Optional[str]:
"""
获取用户真实姓名
从 center.aspx 页面解析姓名信息
返回: 姓名字符串,失败返回 None
"""
if not self.logged_in:
return None
try:
url = f"{BASE_URL}/admin/center.aspx"
resp = self._request_with_retry('get', url)
soup = BeautifulSoup(resp.text, 'html.parser')
# 查找包含"姓名:"的元素
# 页面格式: <li><p>姓名:喻勇祥(19174616018) 人力资源编码: ...</p></li>
nlist = soup.find('div', {'class': 'nlist-5'})
if nlist:
first_li = nlist.find('li')
if first_li:
text = first_li.get_text()
# 解析姓名:格式为 "姓名XXX(手机号)"
match = re.search(r'姓名[:]\s*([^\(]+)', text)
if match:
real_name = match.group(1).strip()
if real_name:
return real_name
return None
except Exception as e:
return None
def login(self, username: str, password: str) -> bool:
"""登录"""
self.log(f"[API] 登录: {username}")