🤖

批量账号注册与浏览器 RPA 自动化系统

Python · Selenium · ixBrowser Local API · Chrome DevTools

面向高重复网页流程的工程化自动化系统:从账号数据读取、浏览器 Profile 调度、表单流程执行到结果回写与日志追踪。

4
核心脚本模块
8
最大并发任务
11
CSV 结果列
3
异常恢复层级

01项目概述

这是一个基于 Python + Selenium + ixBrowser Local API 的浏览器 RPA 自动化系统,用于把重复的网页注册、资料补全、页面状态判断、跳转链路采集和结果回写整合成一条可批量执行的流水线。

项目重点不是简单地“点按钮”,而是解决真实网页自动化里的复杂问题:浏览器环境隔离、动态页面状态漂移、弹窗与验证流程适配、文件并发写入冲突、浏览器插件配置不一致、批量任务失败后的日志追踪与复盘。

公开作品集页面仅展示系统设计和工程能力,真实账号数据、目标站点、第三方服务 Key、原始日志和完整数据表均已脱敏处理。

02系统架构

CSV 账号数据源 │ ▼ ┌──────────────────────────────────────┐ 任务调度器 ThreadPoolExecutor profile 范围展开 · 并发限制 · 启动间隔 └──────────────┬───────────────────────┘ │ ┌──────────┴──────────┐ ▼ ▼ ┌────────────────┐ ┌────────────────────┐ CSV 文件锁 ixBrowser Profile 读写互斥 · 防占用 环境隔离 · 本地 API └────────────────┘ └─────────┬──────────┘ │ ▼ ┌────────────────────────────┐ Selenium WebDriver Chrome Remote Debugging 表单填写 · 页面状态机 · 重试 └─────────────┬──────────────┘ │ ┌───────────────────┴──────────────────┐ ▼ ▼ ┌──────────────────────┐ ┌────────────────────────┐ 验证流程配置适配 跳转链路采集 插件 Key/开关/模板修复 performance log + URL hook └──────────────────────┘ └───────────┬────────────┘ │ ▼ 结果 CSV · JSON 日志 · 批量报告

03技术栈与软件环境

🐍
Python
主流程编排、CSV 处理、并发调度、日志输出
🌐
Selenium WebDriver
接管真实浏览器环境,执行多步骤网页交互
🧩
ixBrowser Local API
按 profile 打开浏览器,提供环境隔离与调试端口
🔎
Chrome DevTools
Remote Debugging、performance log、网络链路捕获
📄
CSV 数据源
账号数据读取、强密码写入、状态与链接结果回写
⚙️
ThreadPoolExecutor
批量任务池、并发上限、任务启动间隔控制
🔐
文件锁
避免多进程同时读写 CSV,支持过期锁清理
🧰
验证插件配置
检测 Key、节点地址、开关状态与模板同步
🪟
Windows + PowerShell
本地运行命令、批量日志归档和结果查看

04核心模块

模块职责工程重点
run_capitalone_flow.py单 profile 主流程:读取账号、打开浏览器、执行注册流程、采集链接、写回结果状态机、重试、浏览器接管、异常收口
run_batch_capitalone_flow.py批量任务调度:展开 profile 范围、控制并发、收集子进程输出、生成批量报告并发控制、日志隔离、失败统计
captcha_solver.py验证流程状态检测与第三方验证能力适配页面探测、iframe 检测、插件协同
repair_yescaptcha_config.py浏览器验证插件配置修复:从稳定模板复制关键配置到目标 profile配置漂移处理、模板同步、自动校验

05核心功能

单 profile 执行
根据 profile 名称读取对应 CSV 行,生成或复用密码,打开隔离浏览器环境并执行完整流程。
批量范围调度
支持类似 cgo01cgo20 的范围展开,按并发数和启动间隔逐个启动。
浏览器环境隔离
每个任务绑定独立 ixBrowser Profile,降低 Cookie、缓存、插件配置之间的互相影响。
页面状态识别
识别注册页、资料页、邮箱关联页、验证页、异常页等状态,并按状态选择下一步动作。
结果链路采集
通过 performance log、重定向分析和 URL hook 捕获多级跳转链路,筛选目标结果。
结构化日志
单任务输出 JSON,批量任务写入 log 和 CSV,便于统计成功率、失败原因与执行耗时。

06数据流设计

阶段输入处理输出
账号读取CSV 第 B/C/E 列按 profile 名匹配账号,必要时生成更强密码账号、密码、姓名候选
浏览器启动profile 名称调用 ixBrowser Local API,获取 webdriver 和调试端口独立浏览器实例
页面流程账号数据、邮编池表单填写、状态判断、验证流程适配、异常重试注册状态与资料保存状态
链接采集商家 coupon 入口点击激活、捕获重定向、筛选目标跳转目标链接结果
结果回写状态、备注、链接CSV 文件锁保护下写入指定列可追踪结果表

07稳定性设计

CSV 文件锁
用独占锁文件保护读写,避免多个进程同时写入导致数据损坏;支持过期锁自动清理。
启动前预检
批量运行前检查 CSV 是否被 Excel/WPS 占用,提前失败,避免所有任务启动后集中报错。
浏览器打开重试
打开 profile 失败时最多重试 5 次,并记录本地 API 错误码和错误信息。
动态页面短轮询
在 Continue、Save 等关键按钮点击前等待 disabled 状态解除,降低误点和假成功。
配置模板修复
将已验证 profile 的插件配置作为模板,批量同步到目标 profile,减少环境漂移。
异常分层标记
把未注册、资料未更新、邮箱关联、浏览器失败等情况写入备注列,便于后续补跑。

08批量运行报告

批量调度器会为每次运行生成两个文件:一个完整日志文件和一个汇总 CSV。日志保留每个 profile 的 stdout / stderr / 返回码;CSV 记录账号、执行状态、耗时、结果链接、备注和错误摘要。

字段说明
profile本次执行的浏览器 Profile 名称
statussuccess / failed
duration_seconds单任务耗时,便于定位异常慢任务
first_name / last_name从账号或随机姓名池生成的资料名称
lego_url / jared_url / adidas_url / kay_url脱敏后的目标结果链接字段
remark未注册、资料未更新、账号需邮箱关联等状态标记
error失败任务的错误摘要,截断保存避免日志过长

09安全与脱敏处理

凭据外置
第三方服务 Key 应只从环境变量或本地私有文件读取,不写入公开仓库和作品集。
数据脱敏
账号 CSV、真实邮箱、密码、Profile 名、完整跳转链接和原始日志不对外展示。
目标抽象
作品集只呈现系统能力,不公开具体目标平台的可复用操作细节。
合规边界
该类 RPA 系统应优先用于授权场景,如内部测试、流程验证、数据录入和重复性运营任务。

10项目收获

这个项目锻炼的是偏真实生产环境的自动化工程能力:不是单页脚本,而是包含数据源、任务调度、浏览器环境、动态页面、插件配置、日志与结果表的一整套闭环。

最终沉淀出的能力包括:复杂网页状态机设计、Selenium 接管真实浏览器、Chrome DevTools 网络链路分析、批量任务并发控制、文件锁与数据一致性、失败任务可观测性、以及自动化系统的脱敏展示方法。