如何利用Python实现自动打卡签到的实践

目录
  • 需求描述
  • 业务梳理
  • 程序实现
  • 总结

需求描述

我们需要登录考勤系统(网页端,非手机端)进行签到,如果不想每天都早早起来打卡签到,就可以通过写程序实现这一功能。

业务梳理

通过长时间的早起打卡签到发现规律,我每天只是不停的点击,签到,都是规律性的操作,何尝不写一个程序加到Windows实现自动签到呢,这样我就不用每天都花时间上在打卡这件小事上。说干就干,我发现我每天的打卡行为可以归纳为"登录系统--》输入用户名、密码--》点击点击--》退出系统"。

一天上网浏览社区,突然看到selenium的描述,然后查阅相关资料发现,

selenium这东西相当好用。一句话概括就是selenium会帮我们自动输入用户名密码点击什么的,刚好和我的需求不谋而合。

至于这selenium这东西怎么安装,我就不重复造轮子了。我安装的webdriver是火狐,因为这考勤系统很奇葩,只允许火狐登录。至于程序的思路,我是这样设计的,把用户名密码放在json文件中,然后Python去读取,selenium帮我实现登录,签到,退出系统等,签到完成之后还会给我发一封邮件。所以,从这篇文章你还可以学习到Python如何读取json文件,Python如何利用邮箱发邮件等知识,真是一举多得。

程序实现

需要导入的包,from selenium import webdriver表示从selenium导入webdriver

随机停留时间,表示随机延时6秒到10秒之间的时间

打开登录的考勤系统,webdriver.Firefox()表示打开一个火狐窗口

清空用户名框和密码框,同时从设置好的json获取用户名密码,登录,clear方法是清除当前窗口已有的输入数据

然后需要通过find_element_by_css_selector、find_element_by_xpath、find_element_by_id等方法去点击相对应的按钮,一般的情况下通过css或者id或者name一般都能找的到按钮的值,如果实在不行,可以通过火狐上的拓展程序找到按钮的xpath,如果其它的属性都不好确定,就用find_element_by_xpath,这个基本上是万能的。

设定需要签到的人员的账户密码信息,一开始是我直接指定在字符串数组中,后来为了该软件可以广泛使用,加入json配置文件

从json的配置文件中获得用户信息、密码,这里可以看到Python是怎么读取json文件的

userinfo.json用户名密码信息如下图,保存在当前目录下就可以

发送邮件通知

main方法执行调度

执行的时候可以手工执行,python qiandao-4-0.py

也可以加入到Windows的定时任务当中

程序或脚本填,指定下Python的安装路径

D:\WinPython-64bit-3.4.4.4Qt5\python-3.4.4.amd64\python.exe

添加参数,表示签到脚本所在的路径

E:\1.4-Python源码资料\自动签到脚本-python-(4.0版本)-2\qiandao-4-0.py

起始于,是表示定时任务启动的时候是在哪一个目录下进行操作的,因为我的json配置文件也在E:\1.4-Python源码资料\自动签到脚本-python-(4.0版本)-2,因此我也填

E:\1.4-Python源码资料\自动签到脚本-python-(4.0版本)-2

总结

本篇文章实现了如何利用python+ selenium实现在网页自动签到,并且添加到Windows的定时任务中是应该如何操作。除了打卡,你也可以用这个程序来干点别的,举一反三嘛,从此再也不用点点点了。

到此这篇关于如何利用Python实现自动打卡签到的实践的文章就介绍到这了,更多相关Python 自动打卡签到内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 实现网课实时监控自动签到、打卡功能

    响应国家停课不停学的号召,学生们都开始了网上授课,但由于课程繁多,消息繁杂,经常错过课堂签到,针对这一难题,博客主作为Python爱好者,完全使用Python语言写了本篇博客,希望能够帮助小伙伴们完成上课签到问题(注:只是帮你签到,而不是叫你代签,我的出发点是帮助记性不是很好的同学签到,防止漏签被老师点名),所以希望大家能理解博主的苦心. 话不多说,献上效果图两张 进入正式教程 ①Python环境 Python3.6及以上版本,需要配备的库requests,json,time 代码运行软件:Py

  • python+selenium 简易地疫情信息自动打卡签到功能的实现代码

    由于学校要求我们每天都要在官网打卡签到疫情信息,多多少少得花个1分钟操作,程序员的尊严告诉我们坚决不能手动打卡.正巧最近学了selenium,于是画了个5分钟写了个自动打卡签到地小程序. 测试环境:python3.7 , selenium,chrome浏览器 seleium和chromedriver的配置在这里就不讲了,这里放个连接 首先找到学校信息门户的登录页: http://my.hhu.edu.cn/login.portal #导入selenium中的webdriver from sele

  • 如何利用Python实现自动打卡签到的实践

    目录 需求描述 业务梳理 程序实现 总结 需求描述 我们需要登录考勤系统(网页端,非手机端)进行签到,如果不想每天都早早起来打卡签到,就可以通过写程序实现这一功能. 业务梳理 通过长时间的早起打卡签到发现规律,我每天只是不停的点击,签到,都是规律性的操作,何尝不写一个程序加到Windows实现自动签到呢,这样我就不用每天都花时间上在打卡这件小事上.说干就干,我发现我每天的打卡行为可以归纳为"登录系统-->输入用户名.密码-->点击点击-->退出系统". 一天上网浏览社

  • python实现自动打卡的示例代码

    自己也百度了一下,然后写的,分为了三个部分,见三段代码 代码:主程序代码 import timefrom selenium import webdriverfrom private_info import * import send_mail def signin_and_email(): #谷歌浏览器驱动的位置 driver=webdriver.Chrome("D:/...../chromedriver") driver.get('http://****.edu.cn/login.p

  • 利用Python实现自动扫雷小脚本

    自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式. 一.准备工作 1.扫雷游戏 我是win10,没有默认的扫雷,所以去扫雷网下载 http://www.saolei.net/BBS/ 2.python 3 我的版本是 python 3.6.1 3.python的第三方库 win32api,win32gui,win32con,Pillow,numpy,opencv 可通过 pip install --upgrade SomePac

  • python实现自动打卡小程序

    本文实例为大家分享了python实现自动打卡小程序的具体代码,供大家参考,具体内容如下 """ 湖南大学疫情防控每日自动打卡程序v1.0 author: Liu time:2021/3/16 """ from selenium import webdriver from selenium.webdriver.chrome.options import Options from PIL import Image from bs4 import Be

  • 如何利用python脚本自动部署k8s

    目录 一.准备 二.编辑脚本 1.k8s.sh 2.k8s_install.py 三.配置ssh免密 四.下载python3和git 五.执行脚本 六.成功 七.总结 一.准备 通过之前在Ubuntu18.04上手动部署过k8s之后,尝试用python脚本进行自动化部署 这次用的是三台centos7的虚拟机,一台作为master执行脚本,两台作为node节点 三台机器都配置好静态IP,可以参考之前的在centos 7中安装配置k8s集群的步骤详解 二.编辑脚本 1.k8s.sh 放在/root下

  • 利用Python实现自动生成数据日报

    目录 前言 需求详解 数据处理 前言 人生苦短,快学Python! 日报,是大部分打工人绕不过的难题. 对于管理者来说,日报是事前管理的最好抓手,可以了解团队的氛围和状态.可对于员工来说,那就有的聊了.对于重复性的工作,我非常推荐大家使用Python将其变成模块化.自动化,帮助我们实现高效办公. 下面我们通过一个补写销售日报的案例,展示一下Python自动化办公的优势.本文简化了案例的流程. 需求详解 朋友的需求是这样的,他们平时的销售数据是记录在Excel上,汇总后会按照部门进行统计.但是今年

  • 利用Python实现自动生成图文并茂的数据分析

    目录 前言 1.一行命令,安装这个库 2.核心代码模块导入 ①提前导入相关内容,并且注册字体 ②注册字体 ③生成报告 前言 reportlab是Python的一个标准库,可以画图.画表格.编辑文字,最后可以输出PDF格式.它的逻辑和编辑一个word文档或者PPT很像.有两种方法: 建立一个空白文档,然后在上面写文字.画图等: 建立一个空白list,以填充表格的形式插入各种文本框.图片等,最后生成PDF文档. 因为需要产生一份给用户看的报告,里面需要插入图片.表格等,所以采用的是第二种方法. 1.

  • Python + selenium + crontab实现每日定时自动打卡功能

    前言 近几日迫于被辅导员三番五次的提醒每日一报打卡,就想着去写个脚本挂在服务器上定时执行.经过我不懈的努力,最终选择了seleniumseleniumselenium,因为简单( 安装selenium库 $ sudo pip install selenium 安装chromdriver 因为我有代理所以直接在官网下载的,那这里你可以选择用淘宝镜像源. 这里为了方便,我直接放命令了.Chromedriver版本我这里选择的是80.0.3987.16(注意要和一会儿下载的Chrome版本一致). 下

  • 利用python Selenium实现自动登陆京东签到领金币功能

    如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形式登陆,就要切换一下. 我们看一下这两种登陆方式是如何切换的,通过浏览器的元素检查,我们看一下两个标签. [插入图片,两种登陆方式] 扫码登陆和用户登陆分别在一个div标签里面,我们可以通过css选择器选定用户登陆,使其下面的a标签的class为checked,接下来的一切就比较简单了. 我们要获取

随机推荐