位置:首页 > 行业软件 > 米侠浏览器通过脚本自动填写网页验证码

米侠浏览器通过脚本自动填写网页验证码

时间:2026-07-03  |  作者:318050  |  阅读:0

关于米侠浏览器自动识别验证码这件事,说穿了就几步,但每一步都差不得。先把浏览器和脚本管理器的基础打牢,再配好规则,最后写一段合适的 Ja vaScript 脚本,调用 OCR 接口或者直接解析简单的图形码,就能让浏览器自己动手把验证码填好。整个过程不是特别复杂,但有几个坑确实得留心。

确认浏览器与脚本管理器基础就绪

这一步可千万别跳过——【旧版米侠浏览器(v3.7.0 及以下)完全无法执行 JS 自动化脚本,强行运行会静默失败且没有任何报错提示】。打开米侠浏览器,点击右上角「菜单」→「设置」→ 左侧「高级」→ 看看有没有「开发者模式」或「脚本注入」开关;要是没有,必须升级到 v3.8.2 或更高版本,目前 v5.5.4.2 是推荐稳定版。

接着安装暴力猴(Violentmonkey)扩展。点击右上角扩展图标,右键「暴力猴」→「管理扩展」→ 把【在所有网站上运行】和【允许访问文件网址】这两个开关打开;进入暴力猴主界面,左上角菜单 →「设置」→「通用」→ 确认「启用脚本」是开启状态。这些都是基础,没做好后面就跑不起来。

配置脚本匹配规则与注入时机

脚本必须精准命中目标页面,不然连验证码图片都找不到。进入暴力猴脚本编辑页,检查头部 @match 规则。举个例子:目标页是 https://login.example.com/auth,只写 @match https://login.example.com/ 是不生效的,必须改为 @match https://login.example.com/auth*@match https://login.example.com/*

@run-at 必须设为 document-end —— 验证码 img 标签通常是动态加载的,执行太早会取不到元素。如果页面用了懒加载或异步渲染,还得加 window.addEventListener('load', ...) 做双重保险,确保元素完全可用。

另外,还得临时关闭「增强防护」「广告过滤」「网页防篡改」这类扩展功能,它们会主动剥离 script 标签或拦截 canvas 读取操作,搞不好 OCR 步骤直接就会失败。

编写验证码自动填写脚本

方法一:适用于纯数字/字母图形验证码(无干扰线、无扭曲)

在脚本编辑区粘贴下面这段代码,记得把 input 元素选择器和 img 元素选择器替换成实际的:

```js
const img = document.querySelector('#verify-img'); // 替换为实际验证码图片选择器
const input = document.querySelector('#verify-code'); // 替换为实际输入框选择器
if (img && input) {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;
ctx.drawImage(img, 0, 0);
const data = ctx.getImageData(0, 0, canvas.width, canvas.height).data;
// 简单二值化:灰度 >128 设为 1,否则为 0
let code = '';
for (let i = 0; i < data.length; i += 4) {
const a vg = (data[i] + data[i+1] + data[i+2]) / 3;
if (a vg > 128) continue;
// 此处需接入字符分割+识别逻辑,简易版可预置模板匹配
}
// 示例:直接填固定值用于测试
input.value = 'ABCD';
input.dispatchEvent(new Event('input', { bubbles: true }));
}

方法二:对接第三方 OCR API(推荐用于复杂验证码)

需要提前申请百度 OCR 或腾讯云 CAPTCHA 的 API 密钥。脚本中用 fetch 发送 base64 图片数据,等返回识别结果后再填入 input:

```js
const img = document.querySelector('#verify-img');
if (!img) return;
const canvas = document.createElement('canvas');
canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
const base64 = canvas.toDataURL('image/png').split(',')[1];
fetch('https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: `access_token=YOUR_TOKEN&image=${base64}`
})
.then(res => res.json())
.then(data => {
if (data.words_result && data.words_result.length) {
const code = data.words_result[0].words.replace(/s/g, '');
document.querySelector('#verify-code').value = code;
document.querySelector('#verify-code').dispatchEvent(new Event('input'));
}
});

绑定域名并启动自动填写

第一步:在暴力猴脚本管理页,找到刚才保存的验证码脚本,点击右侧「编辑」→ 确认 @match 已经覆盖了目标页的完整路径,比如 https://login.example.com/*

第二步:关闭所有已经打开的目标网站标签页,新建一个标签页,手动访问 https://login.example.com/auth。页面加载完成后,观察地址栏左侧,暴力猴图标应该会亮起来。

第三步:点击暴力猴图标 → 查看「最近运行日志」→ 如果显示「 执行成功」并且 input 框已经填入了内容,说明脚本工作正常。

第四步:刷新页面或者触发验证码更新(比如点击“换一张”),验证脚本能否重复识别并填写——【如果首次填写失败,请检查 canvas 跨域限制:目标图片必须同源,或者服务端已经配置了 Access-Control-Allow-Origin】

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多