sublime只是代码编辑器,不支持直接运行图形化抢票脚本、解析验证码或管理多账号;所有自动化能力依赖外部python环境及用户编写的代码逻辑。

Sublime 本身不支持直接运行带图形界面的抢票脚本(如基于 Selenium 的),也不能原生解析验证码或管理多账号状态——它只是个编辑器,所有自动化能力都依赖外部 Python 环境和你写的代码逻辑。
为什么不能直接在 Sublime 里“内置”验证码解析
验证码解析不是编辑器功能,而是需要调用第三方服务(如若快、打码兔)或本地模型(如 PyTorch + OCR 模型)。Sublime 没有 HTTP 客户端、没内置图像处理库,requests、cv2、torch 这些都得你自己装、自己写调用逻辑。常见错误是:在 Sublime 中按 Ctrl+B 运行脚本,但报错 ModuleNotFoundError: No module named 'requests' 或 ImportError: DLL load failed——说明环境没配对,不是 Sublime 的问题。
实操建议:
- 确保系统级 Python 已安装(推荐 3.8+),且
pip list能看到requests、selenium、pillow(截图/裁剪验证码)、numpy(预处理) - 若用若快打码,需手动注册并填入
ruokuai_username和ruokuai_password到配置字典中,不能靠 Sublime 插件自动完成 - 验证码图片通常来自
driver.get_screenshot_as_file()或element.screenshot(),之后再传给识别函数——这一步必须写在你的 Python 脚本里,Sublime 不会帮你生成
多账号管理不是 Sublime 功能,而是数据结构设计问题
所谓“多账号”,本质是你在代码里维护一个账号列表,每个元素含 username、password、cookies_path、passenger_list 等字段。Sublime 不会自动切换账号、不保存登录态、不处理并发冲突。
容易踩的坑:
- 多个
webdriver实例同时运行时,Chrome 启动参数没隔离(比如共用同一个--user-data-dir),导致 Cookie 冲突或浏览器卡死 - 账号配置硬编码在脚本里(如
accounts = [{'u': 'a', 'p': '123'}]),一旦密码改了就得改代码;更稳妥的是从accounts.json文件读取,并用getpass.getpass()隐藏密码输入 - 没做账号失败重试隔离:一个账号登录失败(如验证码错三次),不应阻塞其他账号继续尝试——得用
try/except包裹单账号流程,而非整个循环
Sublime 能真正帮上忙的只有三件事
它只在开发阶段提效,不参与运行时逻辑:
- 用
Package Control装SublimePythonIDE或Anaconda插件,获得函数跳转、参数提示(比如点进driver.find_element_by_xpath能看到签名),但注意:Selenium 4 已弃用该方法,应改用driver.find_element(By.XPATH, ...) - 配置
Tools → Build System → New Build System,写死 Python 解释器路径(如"cmd": ["D:/anaconda3/python.exe", "-u", "$file"]),避免Ctrl+B误调用系统默认低版本 Python - 用侧边栏 + 多标签管理不同文件:
config.json(账号/场次/日期)、ocr.py(验证码识别封装)、damai.py(主流程),比在 PyCharm 里开多个窗口更轻量
真正的难点从来不在编辑器——而在于你能否让 driver.add_cookie() 加载后页面不跳登录页、能否在 12306 上绕过滑块验证、能否让多线程启动的 Chrome 实例互不干扰。这些都得一行行调试,Sublime 只是让你看清楚那行代码写错了而已。











