| 分享时间 | 2023-03-12 22:56 |
| 最后更新 | 3天15小时前 |
| 修订版本 | 36 |
| 用户许可 | 只读,不可再分享 |
| Quicker版本 | 1.44.22 |
| 动作大小 | 632.2 KB |
| 最低Quicker版本 | 1.38.15 |
记录验证码图片的CSS信息,下次自动识别填写
识别失败按影响度切换方案
支持规则导入/导出:可将自己配置的规则分享给他人,或导入他人分享的方案,开箱即用
需要频繁输入验证码的网页(如百度网盘、各类登录页面)
相同/相似CSS结构但网址略有差异的多个页面
希望实现“打开网页即自动识别填写”的全自动体验
安装Quicker浏览器扩展
安装并配置Python环境路径
▍基础使用
首次识别某网页时,按提示选择验证码图片区域;记录CSS信息后,下次打开同一网页后运行动作,即可直接识别并填写。
▍进阶技巧
管理多条规则:可为每条规则自定义名称,方便区分;暂时不需要的规则可直接停用,无需删除。
处理部分相同的网址:对于百度网盘这类网址后缀不同但CSS相同的网站,可在规则管理中将网址匹配方式设置为【返回结果中包含该字符串】,网址改为公共部分(如 https://pan.baidu.com/s/abcdef),使所有同域名网页共用规则。
配合事件触发实现全自动:在事件触发中开启“匹配网址开关”,然后在该动作右键菜单 → “匹配网址” → “生成JSON”,按提示生成并粘贴配置,即可实现打开已记录网页时自动填写,零人工干预。
升级为复杂规则:在规则管理面板,自动生成的基础规则之上,填入【验证码提交CSS】字段后,该规则会开启“提交 → 判断 → 错误则刷新重试”的循环流程,以自动化大量尝试来对付难识别的验证码。
▍自定义获取方式
动作共提供 6 种验证码获取方式,默认使用 0. 按顺序依次尝试(通用方案),该方式以跑通为准,可能会有识别不全的情况。如果遇到特定网页某方式获取不全或失效,可以手动为当前规则指定优先采用的方式:
| 编号 | 方式 | 说明 |
|---|---|---|
| 0 | 按顺序依次尝试 | 通用方案,以跑通为准 |
| 1 | 子程序-网页_提取图片元素 | 最佳方案,获取不到或不完整时再尝试其他 |
| 2 | 获取元素url | 可能获取不到或得到伪装信息 |
| 3 | 脚本自动截图 | 可能获取不到或不完整 |
| 4 | 模拟按键复制图片 | 短暂影响鼠标键盘操作 |
| 5 | 固定区域自动截图 | 首次需手动截图记录区域,不同分辨率设备不通用 |
| 6 | 手动截图 | 每次手动截图,不记录区域,作为最后保险 |
设置方法:右键菜单 → “信息记录相关” → “编辑记录信息”,在弹窗中为当前规则调整“自定义获取方式”。此设置仅影响该条规则,可灵活适配不同网站。
▍OCR识别引擎
默认使用ddddocr。在右键菜单【配置更多识别方式】中选择,三选一:
| 引擎 | 特点 |
|---|---|
| 本地 ddddocr | 默认。免费、快速,适合简单验证码 |
| 在线OCR服务 | 准确率根据厂商决定,可能更高,请自行测试 |
| 多模态AI | 准确率根据厂商决定,可能更高,请自行测试 |
▍调试模式
右键菜单可开启调试模式,动作会展示过程中的处理结果,以及实际截取到的验证码图片,方便直观获取所配置规则的正确性和对比验证码获取方式的效果,快速找到最适合当前网页的方案。
▍错误排查
不小心在不希望直接截图的页面使用了【直接截图】,误操作恢复:右键菜单 → “信息记录相关” → “编辑记录信息”:恢复优先使用CSS识别(参考链接)
每个规则通过网址字段匹配当前页面,支持三种方式:
| 方式 | 格式 | 说明 |
|---|---|---|
| 包含(默认) | stardust.love | 网址包含该字符串即匹配 |
| 正则匹配 | @regex:^https?://stardust\.love/login | 使用正则表达式匹配 |
| 完全匹配 | @full:https://stardust.love/login | 网址完全相等才匹配 |
匹配优先级:完全匹配 > 正则匹配 > 包含匹配。当多条规则同时匹配时,优先级高的优先生效。
基础规则包含以下字段:
| 字段 | 说明 |
|---|---|
| 网址 | 见上节匹配规则 |
| 验证码图片CSS | 定位验证码图片的元素选择器 |
| 验证码输入框CSS | 定位输入框的元素选择器 |
| 验证码获取方式 | 截图方式(屏幕/元素/剪贴板/URL等),按顺序尝试 |
基础规则执行流程:获取验证码图片 → OCR识别 → 填入输入框 → 结束(无自动提交)。
场景:提交验证码后,登录成功跳转到 /home,失败则停留在原页。
| 字段 | 填写内容 |
|---|---|
| 网址 | login.example.com |
| 验证码图片CSS | #captcha-img |
| 验证码输入框CSS | #captcha-input |
| 验证码提交按钮CSS | #submit-btn |
| 验证结果检测方式 | @url: |
| 验证成功条件 | @full:https://login.example.com/home |
| 验证码刷新按钮CSS | #refresh-captcha |
场景:提交后页面不跳转,通过错误提示元素判断是否成功。
| 字段 | 填写内容 |
|---|---|
| 验证结果检测方式 | @css:.error-msg |
| 验证成功条件 | @false:验证码错误 |
含义:读取
.error-msg元素内容,如果不包含“验证码错误”则认为成功。
场景:页面状态由JS变量控制,直接读取变量值判断。
| 字段 | 填写内容 |
|---|---|
| 验证结果检测方式 | @js:return window._loginStatus |
| 验证成功条件 | @full:success |
场景:验证码正确后,加载遮罩层消失。
| 字段 | 填写内容 |
|---|---|
| 验证结果检测方式 | @noexists:.loading-mask |
含义:判断
.loading-mask是否存在,如果不存在则跳出循环。
| 修订版本 | 更新时间 | 制品 | 审核状态 | 更新说明 |
|---|---|---|---|---|
| 36 | 3天15小时前 | V1 | 当前 V1 版本 | ~修复@exists:和@noexists:规则无法保存、不生效的问题 |
| 35 | 7天22小时前 | V1 | ~修复使用【直接截图】时仍然按照已有区域而非重新截图的问题 | |
| 34 | 7天22小时前 | V1 |
~修复已录入的规则使用【直接截图】时运行不符合预期;
~数据同步化整为零,且先进行检查; ~选项名称修改更明了 说明:因动作太大,只能以只读方式分享,故更改用户许可为只读。 |