我用Devchat开发了公务员报名确认系统自动登录脚本,再也不用担心挤不进去了
#AI编程助手哪家好?DevChat“真”好用 #
演示效果
我用Devchat开发了公务员报名确认系统自动登录,再也不用担心挤不进去了
目录
- 演示效果
- 前言
- 粉丝独家专属红包码
- DevChat是什么?
- DevChat AI编程助手有哪些优势
- 一、安装Vscode
- 1、下载vscode链接
- 2、安装vscode
- 二、注册DevChat
- 1、打开注册页
- 2、验证成功完成邮箱绑定
- 3、绑定微信可获得8元
- 三、安装插件
- 四、配置Access Key
- 1、获取Access Key
- 2、设置Access Key
- 点击左下角管理(“齿轮”图标)—命令面板(Command Palette),如下图:
- 在弹出的命令面板中输入“devchat key”,点击如下命令:
- 3、验证是否安装成功
- 1、发现报错
- 2、下载Git
- 3、安装Git
- 4、重启Vscode提问测试
- 五、开发
- 选择语言类型
- 安装油猴tampermonkey
- 编写脚本
- 获取页面定位元素
- 通过Devchat获取Javascript锚点
- 获取验证码数据
- 图片转base64
- 网络🛜请求封装📦
- 完整代码
- 最后
前言
博主今年第一次参加国考,也是第一次感受到了,想交个钱还要排队
,于是我开发出了这个一键自动登录脚本,可以免去账号密码还有验证码
的识别,减少了重复输入验证码的时间
,本次采用Devchat
协助开发,事半功倍,以下是成品演示效果
粉丝独家专属红包码
专属下载链接:http://meri.co/zj3
红包码:fFtna36bMZfGUDFrBYpE6S
DevChat是什么?
DevChat是一个集成了多种主流大模型的AI编程工具,专注于提升程序员的编程效率。它整合了ChatGPT、Codex等热门AI大模型,支持自然语言编程、代码编写、代码生成、代码补全等功能。
它最大的优势是一站式服务,集成热门大模型,并且可以根据需求随心切换,省去了选择和整合不同AI模型的麻烦,无需过多配置就可以快速上手,从而全面提升开发效率。
它是由国内领先的研发效能分析平台思码逸精心打造,它为开发者提供了一种全新的编程体验。使用 Devchat 插件,无缝融入 IDE,一网打尽GPT-4、Claude、讯飞等知名大模型 ,帮助开发者提高开发效率,告别脏活累活!
DevChat AI编程助手有哪些优势
核心优势:能兼容多种主流大模型,多种模板快速响应.不再纠结AI编程助手哪家好
集合(GPT-4 8k/32k、GPT-3.5 4k/16k、Claude2、文心一言、星火、ChatGLM、Code Llama)等大模型
1. 精准的上下文控制2. 多种大模型任意选:复杂任务非 GPT-4 莫属,简单任务交给低成本模型,组合使用效能最佳3. 精准的“上下文”管理;把任意代码段加入对话,不靠 AI 时好时坏的猜测,把控制权交还给用户4. 简单可扩展的提示词目录:开放提示词扩展,Prompts as Code,满足团队和个人自定义需求5. 灵活的 Prompt 模板管理,ask-code功能解答代码库的各类问题6. 产品设计务实,迭代反馈快7. 代码和文档自由生成,而非简单补全8. 对接微软 Azure 服务,可信赖的企业级数据安全
一、安装Vscode
如果你的电脑上没有vscode的话,你可以和我一样先安装,否则用不了插件
1、下载vscode链接
https://az764295.vo.msecnd.net/stable/6c3e3dba23e8fadc360aed75ce363ba185c49794/VSCodeUserSetup-x64-1.81.1.exe
2、安装vscode
二、注册DevChat
1、打开注册页
点我直达:meri.co/zj3
输入账号和邮箱验证成功即可
2、验证成功完成邮箱绑定
邮箱验证成功后如下图所示
3、绑定微信可获得8元
提示:右上角可以切换中文
完成绑定后账户有余额1.367USD,反正是免费的
余额 | 剩余tokens |
---|---|
1.367USD | ~32k GPT-4 tokens or ~638k GPT-3.5 tokens |
若额度不够可以用我的福利兑换码哦~
三、安装插件
在 VSCode 插件市场中搜索“devchat”,如下图。
四、配置Access Key
1、获取Access Key
在最初注册的时候就已经发送给我们Access Key了
2、设置Access Key
点击左下角管理(“齿轮”图标)—命令面板(Command Palette),如下图:
在弹出的命令面板中输入“devchat key”,点击如下命令:
然后,在弹出的输入框中粘贴进 DevChat access key,回车。
3、验证是否安装成功
1、发现报错
博主在做测试的时候发现以下报错信息,如果你也出现报错信息,请按我的方法来
2、下载Git
如果你是Windows64位电脑,请点击下面的国内镜像下载链接,选择合适的版本
下载Git-2.42.0.2-64-bit.exe
3、安装Git
默认下一步直到安装完成即可,安装完成后一定要退出Vscode,否则不生效
4、重启Vscode提问测试
可以看到刚刚的报错信息已经解决了
五、开发
选择语言类型
要完成自动登录,要具备表单信息自动填写,验证码自动识别、还有点击事件,通过python Selenium并不能完美解决这一问题,通过接口也不能完成可视化窗口登录,因为我们是需要进去操作数据的,所以这里用了JavaScript作为本次首选语言,搭载油猴脚本管理器
安装油猴tampermonkey
这里安装过程比较简单,就不做说明了,不懂的同学可以去找相关的文章看看
编写脚本
1、新建一个空的脚本代码
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://*/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript==(function() {'use strict';// Your code here...
})();
2、给脚本运行设置个识别链接
// @match *://*.gwy.cpta.com.cn/*
这样的话就能识别到脚本了
获取页面定位元素
1、打开目标网页进行分析
通过表单的分析我们定位到了账号、身份证、验证码
等信息
账号元素:
<input name="yusername" type="text" id="yusername" placeholder="请输入报名序号" autocomplete="off" maxlength="12">
身份证元素:
<input name="ypassword" type="text" id="ypassword" placeholder="请输入证件号码" autocomplete="off">
验证码元素:
<img src="/gagwy/manage/yzm.jsp?myrand=1699612285512" alt="" width="100" height="35" style="cursor:pointer;" title="单击图片刷新" onclick="this.src='/gagwy/manage/yzm.jsp?myrand='+Math.random();">
通过Devchat获取Javascript锚点
编写问题:
Javascript中,<input name="yusername" type="text" id="yusername" placeholder="请输入报名序号" autocomplete="off" maxlength="12"> 给数值
返回代码:
var inputElement = document.getElementById("yusername");
inputElement.value = 12345;
这时我们获取到了,给报名序号也就是账号的代码,接下来刷新下脚本看看能不能自动填写
可以看到上图中,网页刷新完成时,自动填写了"12345",
通过类似的提问方式我们可以获得三个参数的设置代码
// 获取到<input>元素var inputElement = document.getElementById("yusername");var sfz = document.getElementById("ypassword");inputElement.value = "123";sfz.value = "123";var closeButton = document.querySelector(".aui_close");if (closeButton) {closeButton.click();}
获取验证码数据
图片验证码这里我们简单分析下
通过代码元素:
<img src="/gagwy/manage/yzm.jsp?myrand=1699613287222" alt="" width="100" height="35" style="cursor:pointer;" title="单击图片刷新" onclick="this.src='/gagwy/manage/yzm.jsp?myrand='+Math.random();">
我们可以知道上面的代码中,src是通过随机数一直变化的,这时我们获取元素锚点可以从title入手
同理,构造提问方式
问题:
<img src="/gagwy/manage/yzm.jsp?myrand=1699613287222" alt="" width="100" height="35" style="cursor:pointer;" title="单击图片刷新" onclick="this.src='/gagwy/manage/yzm.jsp?myrand='+Math.random();">
通过title获取图片src
返回:
var imageElement = document.querySelector("img[title='单击图片刷新']");
var src = imageElement.getAttribute("src");
图片转base64
这里转换数据是因为获取到验证码后,我们需要通过第三方验证码识别接口,获得验证码的值,这里我采用某个云打码网站,有免费的体验额度,识别率还不错
接口文档
请求地址 http://api.jfbym.com/api/YmServer/customApi
参数 | 说明 |
---|---|
image | 图片的base64 |
token | 用户中心密钥 |
通过向Devchat的提问,可以获得到base64的转换方法,即通过获取src链接转换base64,转换成功后调用验证码方法get_code()返回验证码数值
var imageElement = document.querySelector("img[title='单击图片刷新']");if (imageElement) {var url = imageElement.getAttribute('src');console.log(url);//验证码识别// 创建一个Image对象var image = new Image();// 设置图片源路径image.src = url;// 当图片加载完成时执行回调函数image.onload = function() {// 创建一个<canvas>元素var canvas = document.createElement("canvas");var context = canvas.getContext("2d");// 设置画布的宽高与图片宽高相同canvas.width = image.width;canvas.height = image.height;// 将图片绘制到画布上context.drawImage(image, 0, 0);// 将画布内容转换为Base64编码var base64 = canvas.toDataURL("image/png");// 假设这是你获取到的带有前缀的Base64编码// 去掉前缀// 在回调函数内部进行进一步的处理get_code(base64);};} else {console.log("未找到匹配的元素");}
网络🛜请求封装📦
我是第一次使用油猴写接口请求,有很多问题,原生的requests还有跨域问题困扰了我许久,通过人工智能也没有解决,最后还是通过某篇文章解决了(不好意思,没做备份标记🏷️找不到了),这里采用GM_xmlhttpRequest完美解决,请求时中间会涉及到data数据的编码问题,这里我也一并解决了
注意⚠️‼️:需要在页面中引用标签,否则GM_xmlhttpReques无法使用(这里自己测试吧,电脑没在身边)
GM_xmlhttpRequest封装:
GM_xmlhttpRequest({method: method,url: url,onload: function(response) {var responseData = JSON.parse(response.responseText);console.log(responseData.data);if(responseData.data.code==0){//识别成功var yzmInput = document.getElementById("yzm");if (yzmInput) {yzmInput.value = responseData.data.data;// alert("识别成功");}else{alert("页面已更新请联系开发者");}}},onerror: function(error) {console.error('Error:', error);},data: formData});
接口请求
function get_code(base64) {var url = 'http://api.jfbym.com/api/YmServer/customApi';var method = 'POST';var data = {token:'Ys…………🌟🌟-…………Q',image:base64,type:'10110'};var formData = new FormData();for (var key in data) {formData.append(key, data[key]);}
完整代码
下面是我的一些其他作品
仓库链接🔗:https://greasyfork.org/zh-CN/scripts/478733-公务员自动登陆脚本
最后
在当今数字化时代,软件开发领域正在经历着飞速的变革和增长。随着技术的不断演进,开发者们面临着越来越多的挑战,需要不断提高他们的创造力和生产力。正是在这个背景下,我们迎来了一款革命性的工具 - DevChat,这是一款专为开发者设计的编程助手,它能够与GPT互通,为开发者提供更便捷的编程体验。
DevChat是一个强大的插件,专为Visual Studio Code(VSCode)开发环境而设计,为开发者提供了前所未有的便利。它不仅简化了代码编写过程,还提供了智能的代码指导,使开发者能够更轻松地构建高质量的软件。这篇文章将带您深入了解DevChat的功能和优势,以及它如何成为您的开发利器。
DevChat的功能不仅仅限于传统的代码补全和语法检查,它引入了GPT技术,使其成为一个真正的智能编程助手。通过与GPT的互通,DevChat能够理解开发者的意图,并根据上下文提供有针对性的建议和代码片段。这意味着,无论您是初学者还是经验丰富的开发者,DevChat都能够为您提供有力的支持,加速您的开发工作。
🍋我的其他作品
《记一次云之家签到抓包》
《记一次视频抓包m3u8解密过程》
《抓包部分软件时无网络+过代理检测 解决办法 安卓黄鸟httpcanary+vmos》
《Python】记录抓包分析自动领取芝麻HTTP每日免费IP(成品+教程)》
《某课抓包视频 安卓手机:黄鸟+某课app+VirtualXposed虚拟框架》
推荐专栏:
《Python爬虫脚本项目实战》
该专栏往期文章:
《【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)》
🥦如果感觉看完文章还不过瘾,欢迎查看我的其它专栏
🥦如果你也喜欢爬虫抓包分析,请关注我,我还完成过很多独立的项目:例如滇医通等等脚本,但是由于版权的原因下架了,爬虫这一类审核比较严谨,稍有不慎就侵权违规了,所以在保证质量的同时会对文章进行筛选
如果对爬虫感兴趣请收藏或者订阅该专栏哦《Python爬虫脚本项目实战》,如果你有项目欢迎联系我,我会同步教程到本专栏!
🚀Python爬虫项目实战系列文章!!
⭐⭐欢迎订阅⭐⭐
【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)
【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口
相关文章:

我用Devchat开发了公务员报名确认系统自动登录脚本,再也不用担心挤不进去了
#AI编程助手哪家好?DevChat“真”好用 # 演示效果 我用Devchat开发了公务员报名确认系统自动登录,再也不用担心挤不进去了 目录 演示效果前言粉丝独家专属红包码DevChat是什么?DevChat AI编程助手有哪些优势一、安装Vscode1、下载vscode链接…...

如何低门槛开发有趣实用的ZigBee产品?
一、什么是 Zigbee 协议? Zigbee 技术是一种连接距离短、功耗低、复杂程度低、数据传输量低的无线通信技术,其命名灵感源自于蜜蜂在群体中的信息传输。它主要通过网关与互联网进行通信,并嵌入各种智能设备,最终实现自动控制和远程…...

ChatGPT和API发生重大中断!
11月9日凌晨,OpenAI在官网发布,ChatGPT和API发生重大中断,导致全球所有用户无法正常使用,宕机时间超过2小时。 目前,OpenAI已经找到问题所在并进行了修复,但仍然不稳定,会继续进行安全监控。 …...

SQL第五次上机实验
1.向图书表(Book)插入以下记录 USE TSGL GO INSERT INTO Book VALUES(7-5402-1800-3,文学类,边城,沈从文,燕山出版社,10,5,5)2.向借阅表插入以下两条记录 USE TSGL GO INSERT INTO Lend VALUES(201207034201,7-5402-1800-3,00366240,2013-04-22),(2012…...

Matplotlib数据可视化综合应用Matplotlib图形配置在线闯关_头歌实践教学平台
Matplotlib数据可视化综合应用图形配置 第1关 配置颜色条第2关 设置注释第3关 自定义坐标刻度第4关 配置文件与样式表 第1关 配置颜色条 任务描述 本关任务:使用colorbar绘制一个热成像图。 编程要求 在右侧编辑器Begin-End处补充代码,根据输入数据绘制…...
CSS实现瀑布流的两种方式
column 多行布局实现瀑布流 1.column 实现瀑布流主要依赖两个属性。 2.column-count 属性,是控制屏幕分为多少列。 3.column-gap 属性,是控制列与列之间的距离。 <!DOCTYPE html> <html lang"en"> <head><meta charset&q…...

Hadoop 视频分析系统
视频分析系统 业务流程 原始数据 vedio.json {"rank":1,"title":"《逃出大英博物馆》第二集","dzl":"77.8","bfl":"523.9","zfl":"39000","type":"影视",&quo…...

Flutter android和ios闪屏页配置
一.概念理解 闪屏页 1.当点击app开始的一瞬间,所呈现出来的页面就是闪屏页。 2.为什么会有闪屏也,由于app启动需要加载代码,这个过程需要耗时,在没有加载完成之前,是看不到app真正的页面。所以app在没有完全加载完时…...

30道高频Vue面试题快问快答
※其他的快问快答,看这里! 10道高频Qiankun微前端面试题快问快答 10道高频webpack面试题快问快答 20道高频CSS面试题快问快答 20道高频JavaScript面试题快问快答 30道高频Vue面试题快问快答 面试中的快问快答 快问快答的情景在面试中非常常见。 在面试过…...
vue-前端实现模糊查询
vue-前端实现模糊查询 开始觉得前端的模糊查询肯定是非常难实现的,但后来发现还是很容易的,几行代码就可以搞定。 原理 从后端获取到所有数据后,将数据存储于两个变量中,目的是为了其中一个作为模糊查询的对照组,用…...
QT:tcpSocket 报错The proxy type is invalid for this operation
调用connectToHost时会先检查代理情况。Qt 程序默认使用系统的代理设置会导致这个问题导致,只要关闭系统的代理设置就可以解决这个问题: (1)添加头文件: #include <QNetworkProxy> (2)添加…...

PostgreSQL 技术内幕(十一)位图扫描
扫描算子在上层计算和底层存储之间,向下扫描底层存储的数据,向上作为计算的输入源,在SQL的执行层中,起着关键的作用。顺序、索引、位图等不同类型的扫描算子适配不同的数据分布场景。然而,扫描算子背后的实现原理是怎样…...
C# WebSocket 服务器
*******************websocket服务器************************************** 第一步:创建HttpListener类,并启动监听: var listener new HttpListener(); listener.Prefixes.Add("http://10.10.13.140:8080/"); …...

自动化实战 - 测试个人博客系统
前言 本篇使用Selenium3Junit5对个人博客进行自动化测试,如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录 前言一.web自动化测试用例二.测试准备1.注册界面自动化测试测试过程中遇到的Bug: 2.登录界面自动…...

TCP/IP详解
TCP/IP详解 一、网络基础1.TCP/IP网络分层2.IP地址和端口号3.封装与分用4.客户-服务端模型 二、链路层1.以太网IEEE802封装2.环回接口 Loopback Interface3.最大传输单元MTU和路径MTU 三、网络层 - IP1.IP首部的关键信息2.IP路由选择3.子网寻址和子网掩码4.ICMP和IGMP 四、传输…...

2023年的低代码:数字化、人工智能、趋势及未来展望
前言 正如许多专家预测的那样,低代码平台在2023年将展现更加强劲的势头。越来越多的企业正在纷纷转向低代码开发,他们希望能够快速开发内部应用程序,并在经济衰退可能出现的情况下保持灵活性。在这个大背景下,低代码平台为企业软件…...

【gogogo专栏】golang并发编程
golang并发编程 并发编程的工具goroutine介绍协程管理器sync.WaitGroup channel介绍readChannel和writeChannelclose的用法select的用法 通讯示例总结 并发编程的工具 在golang中,并发编程是比较简单的,不像java中那么麻烦,golang天然的支持协…...

深入理解JVM虚拟机第二十二篇:详解JVM当中与操作数栈相关的字节码指令
大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻J…...
Vue报错解决Error in v-on handler: “Error: 无效的节点选择器:#div1“
因为我们在创建元素之前用了#div1"所有它会报错,解决方案简单粗暴咱们直接用 setTimeout(createEdit, 1)解决问题了 原理:vue的虚拟dom创建完成以后再调用真是dom就没啥问题 function createEdit() {const editor new E(#div1)editor.config.hei…...

R | R包安装报错-github连接速度慢或无法访问 | metaboanalystR | Retip | rJava安装
R | R包安装报错-github连接速度慢或无法访问 | metaboanalystR | Retip | rJava安装 一、metaboanalystR 安装1.1 Bioconductor报错,无网络连接1.2 github520-修改hosts文件 二、retip安装2.1 rJava包加载报错及安装2.2 安装Retip包 三、从Bioconductor安装Rdisop报…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...