需求描述

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

业务梳理

通过长时间的早起打卡签到发现规律,我每天只是不停的点击,签到,都是规律性的操作,何尝不写一个程序加到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实现自动打卡签到相关推荐

  1. python运算结果是fasls的代码_《利用Python进行数据分析》--整理学习

    第2章(代码示例) path='example.txt' open(path).readline()#只读取文件的第一行.用print函数输出. import json #内置第三方模块将JSON字符 ...

  2. python 代码_如何让Python代码加速运行?

    Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...

  3. 货币转换python代码_演示4:python与Tkinter的货币转换,4python,币值,含,tkinter

    1 说明 币值的转换,此处以2020年10月20日的某时刻的币种汇率来演示. 2 知识点 2.1 汇率与币种 由于汇率在币种转换时会由一点误差,所以用两种方向的转换来互相弥补,但是也不能完全保证正确, ...

  4. 有趣的超短python代码_有趣的python精短程序

    python可以简单优美,也很有趣,下面是收集的例子: 1.一句话开始一个http的文件服务器: $ python -m SimpleHTTPServer Serving HTTP on 0.0.0. ...

  5. 简单几段python代码_如何用python跑一段鸿蒙最简单代码?

    首先,鸿蒙并不支持python,HarmonyOS代码开发支持多语言,包括Java.XML(Extensible Markup Language).C/C++ . JS(JavaScript).CSS ...

  6. 一段有趣的python代码_你知道 Python 这五个有趣的彩蛋吗?

    当一门编程语言是开源的时候,往往会有产生一些搞笑和有趣的东西.通常,这意味着社区的贡献者会为该语言添加一些有趣和特别的彩蛋以及隐藏的特性(当然前提是不会增加在生产环境中使用的风险). Python 就 ...

  7. 网页爬虫python代码_《用python写网络爬虫》完整版+源码

    原标题:<用python写网络爬虫>完整版+源码 <用python写网络爬虫>完整版+附书源码 本书讲解了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介,从页面中 ...

  8. python 柱形图_如何利用python 中的pyecharts包绘制柱形图

    平均线 Python中的pyecharts包,与百度echarts相对应.利用这个包绘制图形只需要简单的几行代码即可,而且绘制的图形还很美观. 安装pyecharts工具包. 导入pyecharts包 ...

  9. 货币转换程序(双符号)python代码_如何实现python汇率转换代码

    对于刚刚入门python的学习者们,最头疼的莫过于基础的功能实现代码了,很多函数可以实现意义是一样的,今天小编教大家实例--实现python汇率转换代码. Python中的货币转换器 tkinter ...

最新文章

  1. JDK1.8 stream详解(转)
  2. 台式计算机的配置清单(硬件和软件),台式电脑的配置清单和产品推荐
  3. 深入详解windows安全认证机制ntlmKerberos
  4. mysql主从虚拟机_虚拟机centos7Mysql实现主从配置
  5. [置顶]       cocos2d-x 手游源码站
  6. [转载] JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解
  7. php 字符串0转换bool_PHP数据类型转换(转)
  8. [二分搜索|快速选择] leetcode 4 寻找两个正序数组的中位数
  9. 如何配置和使用Tomcat访问日志
  10. 【React Native 安卓开发】----(Picker)【第四篇】
  11. 浙大计算机学硕名额,浙大计算机学硕复试线399分,专硕375,不愧被称为“炸大”...
  12. mysql带参数游标_mysql游标的使用
  13. 周纪三 周慎靓王元年(辛丑,公元前320年)——摘要
  14. 一款超级好用的虚拟示波器软件
  15. linux 限制单个ip流量,centos 的单ip流量控制-CentOS下利用iptables限速及限制每IP连接数...
  16. MDX示例:求解中位数、四分位数(median、quartile)
  17. java8中for循环的几种写法
  18. 人民币换算美元java计算_美元和人民币换算(人民币转换美元计算)
  19. 实验四:激光传感器实验,摩尔斯密码
  20. (管用)电脑突然没声了

热门文章

  1. 【Java代码】反射机制处理传递给mapper文件的非Map类型参数对象(指定属性为空则设置默认值)
  2. java Jsoup不能获取完整响应内容
  3. jfinal整合quartz实现定时任务的两种方式
  4. 浙江理工大学电信宽带校园网访问添加路由表命令(Windows和Liunx)
  5. 你面对以希望为名的绝望微笑
  6. java水印图片,Java添加水印+图片水印+文字水印
  7. oracle查询执行过的sql语句,如何查询已经执行过的SQL语句曾经的执行花费时间
  8. 【python笔记】python模块 datatime模块
  9. jasig CAS实现单点登录(数据库认证)
  10. 用Socket 打造跨语言跨操作系统的网络MORPG游戏(二)