公司里有一个网页版的考勤系统。每天打开电脑,用域账户登录,然后打开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");

每日自动签到签退的程序相关推荐

  1. 使用 JS 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励

    使用 Axios 和GitHub Actions实现哔哩哔哩每日自动签到.投币.领取奖励 SCHEDULE-BILIBILI 是一个B站自动执行任务的工具,使用 JS + AXIOS 编写,通过它可以 ...

  2. 实现高德地图签到签退(uniapp)

    项目场景: 用uniapp 实现签到签退(使用高德的api) 问题描述 提示:这里描述项目中遇到的问题: 例如:使用uniapp 自带的组件不能实现点击地图 再签退 提示思路: 提示:使用uniapp ...

  3. OA系统:实现签到签退功能

    一.思路 1.创建数据库(注:添加自增主键或者双主键,这里使用了自增主键dtid) 2.创建控制层和业务层,添加signin和signout两种方法 二.功能实现 1.创建数据库 create tab ...

  4. JavaEE中,考勤(签到签退)功能的实现

    体会实现具体功能的思想并加以运用 签到功能 1.数据库中要有相应的表,并创建相应的实体类,复写相关方法 2.在相关的jsp页面添加两个jsp按钮,用于签到与签退,并添加id属性 3.在servlet中 ...

  5. 利用腾讯云Python函数实现机场每日自动签到领流量

    利用腾讯云Python函数实现机场每日自动签到领流量 基于项目 https://github.com/zhjc1124/ssr_autocheckin 修改 sspanel自动签到脚本(腾讯云函数) ...

  6. 【JavaScript】分享一个定时到网站上签到/签退的JS脚本

    之前介绍过使用temperMonkey屏蔽CSDN广告的方法,主要就是要针对性地分析网站结构,然后用代码去改变或者操作DOM.今天也一样,我们需要观察网页结构,找到我们要操作的按钮,触发他的click ...

  7. B站每日自动签到传统单节点网站的 Serverless 上云

    什么是函数?刚刚考完数学没多久的我,脑力里立马想到的是自变量.因变量.函数值,也就是y=f(x).当然,在计算机里,函数function往往指的是一段被定义好的代码程序,我们可以通过传参调用这个定义好 ...

  8. EF实现考勤管理---(MVC,签到签退)

    1.获取登陆用户id 2.后台控制器实现数据库访问和数据传递 3.DAL层实现后台数据库访问和数据传递(上班签到时间.审核状态,下班签退时间.审核状态)判断 4.前台解析后台传递数据,动态解析用户和时 ...

  9. 签到签退功能的实现-01

    实现思路 签到流程是怎样的? 点击签到,往表中插入用户名.签到日期.签到时间.默认自增id,签到一次后不可重复签到,点击签退,更新签退时间,可能未签到,可能已签退,更新时间

最新文章

  1. 如何看待清华北大毕业生流失去国外?
  2. CoordinatorLayout+AppBarLayout顶部栏吸顶效果
  3. 2017光棍节新生训练赛
  4. matlib 7 在Win10上运行 runtime error
  5. sublime text3搭建react native
  6. [转]为elipse设置javadoc
  7. mysql set语句_从强网杯随便注浅析mysql存储过程
  8. 程序员疫苗:代码注入
  9. Color Table
  10. android模拟摄像头,android模拟器如何连接摄像头
  11. *第七周*数据结构实践项目一【建设环形队列算法库】
  12. jquery中的过滤filter not的用法以及可以添加this
  13. DDD(领域驱动设计)概述
  14. 我,是如何度过人生最艰难的时刻的
  15. 论文阅读 -- unsupervised triplet hashing for fast image retrieval笔记
  16. Kali 编译 Android 源码
  17. (附源码)springboot电子病历管理APP 毕业设计 010350
  18. 【批量行驶证识别】如何批量行驶证OCR识别行驶本行车本图片或复印件并导出至excel表格或文本格式,下面教你方法
  19. sql--sqlsever--时间相关SQL语句--查询当前时间至前N天的数据
  20. echarts如何引入市级地图

热门文章

  1. vmware14 安装xp系统
  2. js 复制图片到微信
  3. Java期末大作业基础项目--在线学生选课系统
  4. 2022夏PAT甲级题解 by小柳2022.6.7
  5. 伴随着我娃成长的运维平台(持续开源..)
  6. Camshift的优点与缺点
  7. 记录的Android开发过程中遇到的问题。
  8. 关于远程连接挂载磁盘的理解(.bat文件、批处理)
  9. 在北京信息科技大学的发言
  10. 详细设计说明书(GB8567——88)