位置: 编程技术 - 正文

使用 Node.js 模拟滑动拼图验证码操作的示例代码(nodejs模拟浏览器环境)

编辑:rootadmin

推荐整理分享使用 Node.js 模拟滑动拼图验证码操作的示例代码(nodejs模拟浏览器环境),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node模拟数据,node.js demo,使用nodejs模拟后端服务 csdn,node.js怎么用,node模拟数据,node.js模拟登录,node.js demo,node.js模拟登录,内容如对您有帮助,希望把文章链接给更多的朋友!

近几年,网页上各种新型验证码层出不穷,其中一种比较常见的是滑动验证码,比如下图这种。

本文介绍了一种使用纯前端方法寻找滑动终点并模拟滑动的方法。

我们需要三个依赖库: puppeteer 、 Resemble.js 以及canvas 。其中 puppeteer 用于打开并操作页面, Resemble.js 及 canvas 用于寻找滑动验证码的终点位置。相关依赖如下:

接下来是实现要点。首先,引入所需的库,定义一些常量。

接下来,使用 puppeteer 打开验证码页面:

然后往页面上注入一段 JS ,获取验证码滑块的位置。这一段代码可能需要你根据自己页面的实际情况进行调整。

接下来,模拟按下鼠标左键,再放开,并分别截图。

使用 Node.js 模拟滑动拼图验证码操作的示例代码(nodejs模拟浏览器环境)

此时可以得到两个图片:

以及:

可以看到,两个图其余部分都相同,区别在于是否显示验证码滑块以及目标位置。

接下来,就轮到 Resemble.js 出场了,可以使用它获得两个图片的 diff 结果。

结果如下:

接下来,再使用 canvas 库,将这个 diff 图片读入内存,从右上角开始查找,很容易即可找到最右侧色块的位置,也即滑块终点的位置。

这样,便获得了滑块的起始位置以及终点位置,再使用 puppeteer 的 page.mouse.move 方法模拟拖动,将滑块拖到终点位置即可。

当然,找到滑块终点并把滑块拖到正确的终点位置只是第一步,完善的滑动验证码并不会只判断有没有滑到正确的位置,还会分析你的拖动轨迹。要知道,人滑动的轨迹和机器滑动的轨迹是有很大不同的,至于具体如何区分就是另一个复杂的话题了。

最后,本文仅供研究参考,不要问我要详细代码。

标签: nodejs模拟浏览器环境

本文链接地址:https://www.jiuchutong.com/biancheng/368545.html 转载请保留说明!

上一篇:Node.js学习教程之HTTP/2服务器推送【译】(node. js教程)

下一篇:Node.js实现发送邮件功能(nodejs发送http请求)

  • 税金及附加如何记账
  • 税务人员岗位有哪些
  • 环境保护税的纳税期限
  • 工地工贸药品入库流程
  • 公司投资股票亏损,要交企业所得税和个人所得税吗
  • 小规模发票冲红怎么申报
  • 咨询公司所得税税负率是多少合适
  • 印花税是当月交当月的吗
  • 发票开的是推广服务费计入什么费用?
  • 固定资产报废废铁收入需要交税吗
  • 自来水公司代收污水处理费账务处理
  • 银行承兑汇票收费标准
  • 部门奖金怎么入账
  • 劳动合同中的劳动报酬标准
  • 税务机关是否可以申请破产清算
  • 农产品一般纳税人免税吗
  • 滴滴客运服务费免税
  • 水电费没有发票怎么报销
  • 增值税申报表能更正申报吗
  • 房屋交易税费的计算
  • 税务机关核定的计税价格是否含税
  • 应付账款借方余额怎么平账
  • 个人可以做代理吗
  • windows11开始菜单怎么居中
  • linux转换windows
  • 生产车间购入材料会计分录
  • 原材料退库怎么做凭证
  • linux root没有权限
  • hbuilder怎么下载
  • PHP:pg_fetch_assoc()的用法_PostgreSQL函数
  • 为什么捐赠还要交税
  • 废品损失是什么类账户
  • 未到期的应收票据办理贴现会计分录
  • 收到短期借款会计分录怎么写
  • 房产税城镇土地使用税申报期限
  • 国家规定发票多久之内可以开
  • 车辆购置税退税计算
  • thinkphp5上传图片
  • 克雷格格林
  • windows pythonpath
  • 不良品扣款应入哪个科目
  • 基建工程转固定资产
  • 供货单位与开票单位不一致
  • python @time
  • 已经抵扣的发票红字信息表怎么开
  • 银行年费什么时候取消的
  • 无形资产减值准备是什么科目
  • 公司债券属于负债吗
  • 工程预付税金如何计算
  • 施工单位代建收费合理吗
  • 年终奖金计入工资薪金所得吗
  • 专项应付款科目编码是多少
  • 库存商品发出计价测试
  • 半成品仓库的管理办法
  • 资产负债表中的货币资金怎么算
  • 会计分录借贷怎么分视频教程
  • 当恢复系数e=1时碰撞属于什么碰撞
  • win7桌面计算机
  • win7系统运行慢,如何提速
  • win8如何更改用户名字?
  • win10 directx9
  • win7右下角无线网络连接图标不见了
  • tf.nn.tanh函数
  • cocos2dx schedule
  • jquery animate源码
  • unity3d游戏引擎支持几种平台发布?
  • javascript中cookie
  • python计算两个数乘积代码
  • 微信小程序中显示app.json在项目根目录未找到怎么回事
  • javascript判断
  • 异步加载场景
  • javascript例题
  • python爬虫教程推荐
  • jquery基本知识
  • 在python中的用法
  • 如何知道公司所有账户
  • 电子税务局登录密码怎么查询
  • 境外服务收入如何纳税
  • 浙江蹦极哪里好玩
  • 行政事业单位自办食堂规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设