""" ERP 浏览器保活服务 (手工填写账号密码专用) 运行此脚本后,在弹出的 Chrome 浏览器中手工登录。 登录成功后,不要关闭终端和浏览器。 其他抓取脚本(指定同一端口)就可以直接复用这个已经登录的浏览器实例了! """ import sys import time from pathlib import Path # 引入现有的登录模块 sys.path.insert(0, str(Path(__file__).parent)) from login import get_page, login_manual, log def main(): log("INFO", "=== 🚀 启动浏览器保活服务 (端口: 9222) ===") # 统一使用 9222 端口,后续所有抓取脚本也连这个端口 page = get_page(port=9222) try: # 调用已有的手工登录逻辑:打开网页,等待用户手工操作 log("INFO", "等待您在弹出的浏览器中完成手工登录...") # 这里的 login_manual 已经有轮询检测是否登录成功的逻辑了 ok = login_manual(page) if ok: log("OK", "✅ 登录成功!浏览器已进入保活状态。") log("INFO", "==================================================") log("INFO", "⚠️ 请勿关闭此终端窗口和弹出的 Chrome 浏览器!") log("INFO", "👉 现在您可以新开一个终端,去运行其他的抓取脚本了。") log("INFO", "🛑 如果要结束保活关闭浏览器,请在此终端按 Ctrl+C。") log("INFO", "==================================================") # 死循环保活,直到用户手动在终端按 Ctrl+C 退出 while True: time.sleep(10) else: log("ERR", "❌ 登录超时或失败,保活服务即将退出。") page.quit() except KeyboardInterrupt: log("INFO", "接收到退出信号 (Ctrl+C),正在关闭浏览器...") page.quit() except Exception as e: log("ERR", f"发生异常: {e}") page.quit() if __name__ == "__main__": main()