每日自动签到签退的程序
公司里有一个网页版的考勤系统。每天打开电脑,用域账户登录,然后打开IE,输入网址,系统会自动感知你的域账户,显示个人信息,在8点半之前点击签到就不算迟到。
像下面的图这样
终于有一天由于地铁故障迟到了,于是想搞一个自动签到
考察了一下网站签到系统,可以看到这个系统大概是ASP.NET,能感知域账户说明有控件,而这个按钮链接是一个javascript函数
类似
<a id="ctl00_m_g_23105813_1daf_4c2a_b652_8ff42b3594ef_ctl00_btnCheckIn
" hideFocus="" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$m$g_23105813_1daf_4c2a_b652_8ff42b3594ef$ctl00$btnCheckIn", "", true, "", "", false, true))" jQuery15203230967361562585="58"/>
所以最好用IE内核的webbrower控件来做。
打开VS,新建C# winform工程
拖一个Webbrowser控件上去
在Form的Load事件里访问网址
webBrowser1.Navigate("aaa.bbb.com");
在DocumentCompleted事件里
HtmlDocument webDoc = webBrowser1.Document;
HtmlElement checkinEle = webDoc.GetElementById("ctl00_m_g_23105813_1daf_4c2a_b652_8ff42b3594ef_ctl00_btnCheckIn");
if(checkinEle!=null)
{webDoc.GetElementById("ctl00_m_g_23105813_1daf_4c2a_b652_8ff42b3594ef_ctl00_btnCheckIn").InvokeMember("click");
}
这样就可以自动点击,接下来是部署的问题
1,自动开机。联想台式机支持定时开机,进BIOS,设置每周一到五,早上8点定时开机
2,自动登录。打开注册表HKEY_LOCAL_MACHINE\SOFtware\Microsoft\Windows Nt\CurrentVersion\Winlogon,在右边找到AutoAdminilogon,将键值设为1,把DefaultUserName的值设置为需要自动登录的用户名,再新建一个字符串值DefaultPassword,设为密码,如果是域账户,再新建一个字符串值DefaultDomain,设为域的名字
3,自动启动签到程序。进入计划任务,根据向导创建一个计划,指向创建的程序
签退程序也是类似的
不过签退的时候会弹出一个对话框
它的链接里有一个onclick属性
<a id="ctl00_m_g_23105813_1daf_4c2a_b652_8ff42b3594ef_ctl00_btnCheckOut" hideFocus="" οnclick="return confirm('您确定要签退吗?');" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$m$g_23105813_1daf_4c2a_b652_8ff42b3594ef$ctl00$btnCheckOut", "", true, "", "", false, true))" jQuery15203230967361562585="58"/>
在代码里可以自动确认
HtmlDocument webDoc = webBrowser1.Document;IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument; vDocument.parentWindow.execScript("function confirm(str){return true;} ", "javascript"); //弹出确认webDoc.GetElementById("ctl00_m_g_23105813_1daf_4c2a_b652_8ff42b3594ef_ctl00_btnCheckOut").InvokeMember("click");
每日自动签到签退的程序相关推荐
- 使用 JS 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励
使用 Axios 和GitHub Actions实现哔哩哔哩每日自动签到.投币.领取奖励 SCHEDULE-BILIBILI 是一个B站自动执行任务的工具,使用 JS + AXIOS 编写,通过它可以 ...
- 实现高德地图签到签退(uniapp)
项目场景: 用uniapp 实现签到签退(使用高德的api) 问题描述 提示:这里描述项目中遇到的问题: 例如:使用uniapp 自带的组件不能实现点击地图 再签退 提示思路: 提示:使用uniapp ...
- OA系统:实现签到签退功能
一.思路 1.创建数据库(注:添加自增主键或者双主键,这里使用了自增主键dtid) 2.创建控制层和业务层,添加signin和signout两种方法 二.功能实现 1.创建数据库 create tab ...
- JavaEE中,考勤(签到签退)功能的实现
体会实现具体功能的思想并加以运用 签到功能 1.数据库中要有相应的表,并创建相应的实体类,复写相关方法 2.在相关的jsp页面添加两个jsp按钮,用于签到与签退,并添加id属性 3.在servlet中 ...
- 利用腾讯云Python函数实现机场每日自动签到领流量
利用腾讯云Python函数实现机场每日自动签到领流量 基于项目 https://github.com/zhjc1124/ssr_autocheckin 修改 sspanel自动签到脚本(腾讯云函数) ...
- 【JavaScript】分享一个定时到网站上签到/签退的JS脚本
之前介绍过使用temperMonkey屏蔽CSDN广告的方法,主要就是要针对性地分析网站结构,然后用代码去改变或者操作DOM.今天也一样,我们需要观察网页结构,找到我们要操作的按钮,触发他的click ...
- B站每日自动签到传统单节点网站的 Serverless 上云
什么是函数?刚刚考完数学没多久的我,脑力里立马想到的是自变量.因变量.函数值,也就是y=f(x).当然,在计算机里,函数function往往指的是一段被定义好的代码程序,我们可以通过传参调用这个定义好 ...
- EF实现考勤管理---(MVC,签到签退)
1.获取登陆用户id 2.后台控制器实现数据库访问和数据传递 3.DAL层实现后台数据库访问和数据传递(上班签到时间.审核状态,下班签退时间.审核状态)判断 4.前台解析后台传递数据,动态解析用户和时 ...
- 签到签退功能的实现-01
实现思路 签到流程是怎样的? 点击签到,往表中插入用户名.签到日期.签到时间.默认自增id,签到一次后不可重复签到,点击签退,更新签退时间,可能未签到,可能已签退,更新时间
最新文章
- 如何看待清华北大毕业生流失去国外?
- CoordinatorLayout+AppBarLayout顶部栏吸顶效果
- 2017光棍节新生训练赛
- matlib 7 在Win10上运行 runtime error
- sublime text3搭建react native
- [转]为elipse设置javadoc
- mysql set语句_从强网杯随便注浅析mysql存储过程
- 程序员疫苗:代码注入
- Color Table
- android模拟摄像头,android模拟器如何连接摄像头
- *第七周*数据结构实践项目一【建设环形队列算法库】
- jquery中的过滤filter not的用法以及可以添加this
- DDD(领域驱动设计)概述
- 我,是如何度过人生最艰难的时刻的
- 论文阅读 -- unsupervised triplet hashing for fast image retrieval笔记
- Kali 编译 Android 源码
- (附源码)springboot电子病历管理APP 毕业设计 010350
- 【批量行驶证识别】如何批量行驶证OCR识别行驶本行车本图片或复印件并导出至excel表格或文本格式,下面教你方法
- sql--sqlsever--时间相关SQL语句--查询当前时间至前N天的数据
- echarts如何引入市级地图