# mytsingtao **Repository Path**: cmsl/mytsingtao ## Basic Information - **Project Name**: mytsingtao - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-05-15 - **Last Updated**: 2025-02-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 青岛啤酒供应商平台自动化登录系统 ![Python Version](https://img.shields.io/badge/python-3.8%2B-blue) ![Playwright Version](https://img.shields.io/badge/playwright-1.32%2B-orange) ![License](https://img.shields.io/badge/license-MIT-green) ## 📖 目录 - [青岛啤酒供应商平台自动化登录系统](#青岛啤酒供应商平台自动化登录系统) - [📖 目录](#-目录) - [🚀 功能特性](#-功能特性) - [💻 环境要求](#-环境要求) - [🛠️ 快速开始](#️-快速开始) - [安装步骤](#安装步骤) - [配置账号](#配置账号) - [运行程序](#运行程序) - [⚙️ 配置说明](#️-配置说明) - [主要配置项](#主要配置项) - [环境变量](#环境变量) - [🔧 高级使用](#-高级使用) - [自定义验证码识别](#自定义验证码识别) - [会话状态管理](#会话状态管理) - [❓ 常见问题](#-常见问题) - [验证码识别失败](#验证码识别失败) - [登录后页面无响应](#登录后页面无响应) - [🤝 参与贡献](#-参与贡献) - [📜 许可证](#-许可证) ## 🚀 功能特性 - **自动化登录流程**:完整模拟用户登录行为 - **智能验证码识别**:基于ddddocr实现高精度识别 - **会话状态管理**:AES加密存储登录状态 - **多环境支持**:开发/测试/生产环境配置分离 - **错误监控**:自动截图记录失败场景 ## 💻 环境要求 - Python 3.8+ - Chromium浏览器 - 系统依赖: ```bash # Ubuntu/Debian sudo apt-get install -y libgbm-dev libnss3-dev # CentOS sudo yum install -y alsa-lib-devel libXScrnSaver-devel ``` ## 🛠️ 快速开始 ### 安装步骤 1. 克隆仓库: ```bash git clone https://github.com/your-repo/tsingtao-auto-login.git cd tsingtao-auto-login ``` 2. 安装依赖: ```bash pip install -r requirements.txt playwright install chromium ``` 3. 初始化配置: ```bash cp configs/local.example.ini configs/local.ini ``` ### 配置账号 编辑 `configs/local.ini`: ```ini [Credentials] Username = 您的账号 Password = 您的密码 [Browser] Headless = False ``` ### 运行程序 基本命令: ```bash python main.py ``` 调试模式(显示浏览器): ```bash python main.py --headless=False ``` ## ⚙️ 配置说明 ### 主要配置项 | 配置项 | 默认值 | 说明 | |----------------------|------------|--------------------------| | Headless | True | 是否显示浏览器界面 | | SlowMo | 500 | 操作延迟(毫秒) | | CaptchaRetries | 3 | 验证码最大重试次数 | | SessionTimeout | 3600 | 会话有效期(秒) | ### 环境变量 | 变量名 | 说明 | |----------------------|--------------------------| | TSINGTAO_ENV | 运行环境 (default: local) | | TSINGTAO_DEBUG | 调试模式 (1/0) | ## 🔧 高级使用 ### 自定义验证码识别 1. 修改预处理参数: ```python # src/core/captcha.py def preprocess(image): # 增强对比度 return ImageEnhance.Contrast(image).enhance(1.5) ``` 2. 使用混合识别引擎: ```python class HybridOCR: def __init__(self): self.dddd = ddddocr.DdddOcr() self.tesseract = pytesseract def recognize(self, image): # 优先使用ddddocr,失败时使用Tesseract try: return self.dddd.classify(image) except: return self.tesseract.image_to_string(image) ``` ### 会话状态管理 加密存储示例: ```json { "cookies": [ { "name": "session_id", "value": "gAAAAABkZ...", "domain": ".tsingtao.com", "secure": true, "httpOnly": true } ], "metadata": { "expires": "2023-12-31T23:59:59", "user_agent": "Mozilla/5.0 ..." } } ``` ## ❓ 常见问题 ### 验证码识别失败 **现象**:连续3次识别错误 **解决**: 1. 检查data/captcha.png是否清晰 2. 调整二值化阈值: ```python # src/core/captcha.py img = img.point(lambda x: 255 if x > 140 else 0) # 原为128 ``` ### 登录后页面无响应 **现象**:登录成功但页面卡住 **排查**: 1. 检查网络连接 2. 查看data/network_logs.har 3. 增加等待时间: ```python await page.wait_for_selector('#dashboard', timeout=10000) ``` ## 🤝 参与贡献 欢迎通过以下方式参与项目: 1. 报告BUG:提交Issue并附上data/error_screenshot_xxx.png 2. 功能建议:在Discussion区提出 3. 代码贡献: ```bash # 创建特性分支 git checkout -b feature/your-feature # 提交代码 git commit -m "feat: add new feature" # 推送分支 git push origin feature/your-feature ``` ## 📜 许可证 [MIT License](LICENSE) © 2023 Your Name --- > 📌 **提示**:首次运行前请执行 `playwright install chromium` 安装浏览器驱动