升学e网通 (ewt360.com) 自动化学习辅助工具
基于 Playwright 模拟浏览器操作,自动登录平台、进入学习计划、逐条播放未完成的视频任务,播放期间自动处理弹窗,全程静默或可视运行。
本工具仅用于学习和研究自动化技术。
使用者应遵守 ewt360.com 的服务条款及相关法律法规。开发者不对因使用本工具导致的任何账号封禁、学习记录异常或其他后果承担责任。如您所在的教育机构或平台明确禁止自动化操作,请立即停止使用。
强烈建议使用独立小号,勿在已购买重要课程的主账号上运行。
AI 生成内容标识:本 README 中的技术分析、法律分析及部分文档内容由人工智能辅助生成,仅供参考,不构成法律意见或专业建议。使用者应结合自身情况独立判断。如对内容准确性有疑问,请以原始法律文本和专业法律意见为准。依据《生成式人工智能服务管理暂行办法》第12条要求,特此标识。
- 自动登录 —— 读取环境变量凭据,自动完成密码输入与协议勾选
- 智能选择 —— 自动识别当天未完成的视频任务,支持多人学习计划选择
- 倍速播放 —— 随机 1.8~2.5 倍速(每次不同),降低模式识别风险
- 反检测保护 —— 隐藏
navigator.webdriver标志,轮询间隔随机抖动 - 弹窗处理 —— 播放期间自动检测并点击确认弹窗,无需人工干预
- 超时保护 —— 视频播放设硬上限超时,防止死循环
- 断网重试 —— 网络波动时指数退避自动重试(3 次)
- 日志记录 —— 每次运行生成独立日志文件,支持用户名脱敏输出
- 静默模式 —— 支持无头模式后台运行,不干扰桌面操作
- Python 3.10+
- Windows / macOS / Linux
# 克隆仓库
git clone https://github.com/teea418/FuckEWT.git
cd FuckEWT
# 创建虚拟环境(推荐)
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS / Linux:
# source .venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 安装 Playwright 浏览器
playwright install chromium# 复制配置文件模板
cp .env.example .env编辑 .env 文件,填入真实凭据:
# 升学e网通 登录账号
EWT_USERNAME=your_username_here
# 升学e网通 登录密码
EWT_PASSWORD=your_password_here
# 登录页面地址(一般无需修改)
EWT_URL=https://www.ewt360.com/
# 作业列表页面地址(一般无需修改)
EWT_HOMEWORK_URL=https://teacher.ewt360.com/ewtbend/bend/index/index.html#/student/homework安全提示:
.env已加入.gitignore,不会提交到仓库。请勿将真实凭据分享或提交至任何公开渠道。
python main.py启动后按提示操作:
- 阅读并确认风险提示
- 选择是否显示浏览器界面(
y显示 /n后台静默) - 如有多个学习计划,选择要执行的一项
- 工具将自动检测待完成视频并开始播放
EazyPassEWT/
├── main.py # 主程序入口
├── requirements.txt # Python 依赖
├── .env.example # 环境变量模板(不含真实值)
├── .env # 本地配置(已 gitignore,用户自行创建)
├── .gitignore # Git 忽略规则
├── logs/ # 运行日志目录(已 gitignore)
│ └── EazyPassEWT_*.log
└── README.md # 本文件
| 模块 | 技术方案 | 说明 |
|---|---|---|
| 浏览器自动化 | Playwright (Chromium) | 模拟真实用户操作,支持无头模式 |
| 反检测 | --disable-blink-features=AutomationControlled |
隐藏自动化标志,降低被识别为机器人的概率 |
| 登录流程 | CSS 选择器定位 + .fill() |
读取环境变量凭据,自动勾选协议后提交 |
| 任务识别 | DOM 属性解析 | 通过 data-active、data-type、data-finish 属性定位任务与视频 |
| 视频播放 | JavaScript 注入 | video.playbackRate 随机 1.8~2.5x 倍速,video.muted 静音,轮询 currentTime 检测进度 |
| 行为拟人化 | 随机抖动 + 随机间隔 | 轮询间隔 200 |
| 容错机制 | 指数退避重试 | retry_call() 通用重试工具,延迟 = base * backoff^(n-1) |
- 凭据管理:账号密码存储在本地
.env文件,已加入.gitignore,仅用于 Playwright 的浏览器输入操作 - 日志脱敏:密码输出为
******,用户名仅保留首尾各 2 位(如te****18) - 空值校验:账号或密码为空时直接退出,避免无效登录
- 无数据外传:工具仅与 ewt360.com 平台交互,不向任何第三方发送数据
- 安全退出:
quit_ewt()函数对未初始化的浏览器对象做判空处理,防止异常崩溃 - 限流保护:内置 3 次指数退避重试 + 视频间 2~8s 随机延迟,避免请求风暴
- 启动 Chromium 时添加
--disable-blink-features=AutomationControlled参数,隐藏navigator.webdriver标志 - 播放轮询间隔加入 200~600ms 随机抖动
- 视频间插入 2~8s 随机延迟,模拟人工切换
- 倍速在 1.8~2.5x 区间随机,避免固定模式
以下内容为基于公开法律信息的技术分析,不构成法律意见。如有法律疑问,请咨询专业律师。
本工具存档了升学e网通当前的用户协议(见 用户协议.txt)。经分析,该协议存在 多处违反《中华人民共和国民法典》格式条款规定 的情形:
| 条款 | 内容 | 法律问题 |
|---|---|---|
| 第1条/第49条 单方修改协议 | 平台可随时修改协议,公布即生效,继续使用即视为同意 | 违反《民法典》第496条——格式条款提供方未尽合理提示说明义务 |
| 第37条 账号泄露完全免责 | "升学e网通不承担任何责任" | 违反《民法典》第497条——不合理免除自身责任;违反《电子商务法》第27条(安全保障义务) |
| 第47条 过度索取用户作品权利 | 用户授予平台使用、复制、修订、改写、发布、翻译、分发、展示用户的作品 | 违反《民法典》第497条——不合理扩大自身权利、限制对方权利 |
| 第61-66条 AI服务完全免责 | 对AI生成内容导致的所有损失不承担任何责任 | 与《生成式人工智能服务管理暂行办法》第12条精神相悖 |
| 第75条 AI输出知识产权归属 | 用户使用AI生成的内容知识产权归平台,且用户授予永久免费全球可转让许可 | 违反公平原则,可能构成显失公平(《民法典》第151条) |
| 第91条 指定管辖法院 | "向杭州市拱墅区人民法院提起诉讼" | 对异地用户增加不合理维权成本,消费者可主张该条款无效(《最高人民法院关于适用〈中华人民共和国民事诉讼法〉的解释》第31条) |
《民法典》第497条 明确规定:提供格式条款一方不合理地免除或者减轻其责任、加重对方责任、限制对方主要权利的,该格式条款无效。
这意味着:
- 平台不能仅凭用户协议中的单方条款就对用户随意封号而不承担责任——尤其是当封号导致用户已购买的付费服务无法使用时
- 如果平台以"违反协议"为由封禁账号,用户有权要求平台 证明该封禁行为具有合法合理性,而非平台单方面认定
- 格式条款无效的法律后果是"该条款自始无效"——平台不能主张第37条、第61-66条等免责条款来免除自身责任
- 如果用户已付费购买课程,平台封号后拒绝退款,用户可主张该用户协议中关于"违反协议不予退款"的条款因违反公平原则而无效
注意:以下策略是基于前述法律分析提出的可能性,实际效果取决于具体情况和司法机关的判断。
| 场景 | 可能的应对方式 |
|---|---|
| 账号被以"违反协议"为由封禁 | 要求平台说明具体违反的是哪一条款,并提供该条款符合《民法典》第496条(合理提示说明义务)的证据 |
| 封号且拒绝退还已购课程费用 | 通过 12315 投诉,主张平台格式条款无效,要求按比例退还剩余未使用费用 |
| 平台主张第91条杭州管辖 | 消费者用户可在答辩期内提出管辖权异议,主张该格式管辖条款增加维权成本 |
| 平台依据第37条主张账号泄露不担责 | 若账号泄露系因平台安全漏洞导致,可主张第37条因违反《电子商务法》而无效 |
| 渠道 | 说明 | 适用场景 |
|---|---|---|
| 12315 平台 | 全国消费者投诉举报热线 | 退款纠纷、格式条款争议 |
| 工信部申诉 | https://yhssglxt.miit.gov.cn | 服务中断、数据删除 |
| 互联网法院 | https://www.netcourt.gov.cn | 线上立案,降低异地维权成本(可主张第91条格式管辖条款无效后选择被告所在地或合同履行地法院) |
| 风险维度 | 等级 | 缓解措施 |
|---|---|---|
| 违反平台服务条款 | 🔴 高 | 使用独立小号;启动时已显示免责声明 |
| 账号封禁 | 🔴 高 | 反检测参数隐藏自动化标志;行为拟人化降低识别率 |
| 凭据泄露 | 🟠 中 | .env 已 gitignore;日志脱敏;空值校验 |
| 法律责任 | 🟡 低 | 本工具仅为浏览器自动化技术研究;平台协议本身存在多处无效条款 |
# 安装开发依赖(如有)
pip install -r requirements-dev.txt
# 运行
python main.py欢迎提交 Issue 和 Pull Request。
MPL-2.0 © 2026 teea418
本项目与 升学e网通(ewt360.com)没有任何关联,纯属个人技术实践。