64 lines
2.1 KiB
Python
64 lines
2.1 KiB
Python
import time
|
|
from typing import Dict, List, Any
|
|
from config import ConfigManager
|
|
from login_manager import LoginManager
|
|
|
|
from logger_config import global_logger as logger
|
|
|
|
class AutoLoginApp:
|
|
"""
|
|
自动登录应用主类
|
|
"""
|
|
|
|
def __init__(self):
|
|
"""
|
|
初始化自动登录应用
|
|
"""
|
|
self.config_manager = ConfigManager()
|
|
self.login_manager = LoginManager()
|
|
|
|
def run(self):
|
|
"""
|
|
运行自动登录应用
|
|
"""
|
|
logger.info("===== 自动登录应用启动 =====")
|
|
|
|
# 直接调用LoginManager的run函数处理所有网站
|
|
self.login_manager.run()
|
|
|
|
# 从配置管理器直接获取duration参数
|
|
duration = self.login_manager.get_duration()
|
|
|
|
logger.info(f"延时 {duration} 秒后获取所有页面cookies")
|
|
time.sleep(duration)
|
|
|
|
# 调用save_cookies函数获取并保存所有网站的cookies到config.json
|
|
try:
|
|
all_cookies = self.login_manager.save_cookies()
|
|
logger.info(f"成功获取并保存 {len(all_cookies)} 个网站的cookies到config.json文件")
|
|
except Exception as e:
|
|
logger.error(f"获取或保存cookies时发生错误: {e}")
|
|
|
|
logger.info("===== 所有网站处理完成 =====")
|
|
|
|
# 从配置管理器直接获取AutoQuit配置并关闭浏览器
|
|
auto_quit = self.config_manager.load_config().get('AutoQuit', False)
|
|
if auto_quit:
|
|
try:
|
|
self.login_manager.close(True) # 直接传入True表示关闭浏览器
|
|
logger.info("已关闭浏览器")
|
|
except Exception as e:
|
|
logger.error(f"关闭浏览器时发生错误: {e}")
|
|
else:
|
|
logger.info("浏览器保持打开状态")
|
|
|
|
# 不再需要返回auto_quit值,因为它已经在方法内部使用
|
|
|
|
if __name__ == "__main__":
|
|
app = AutoLoginApp()
|
|
try:
|
|
app.run()
|
|
except KeyboardInterrupt:
|
|
logger.info("程序被用户中断")
|
|
except Exception as e:
|
|
logger.error(f"程序运行时发生错误: {e}") |