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


Posted in Python onAugust 22, 2020

由于学校要求我们每天都要在官网打卡签到疫情信息,多多少少得花个1分钟操作,程序员的尊严告诉我们坚决不能手动打卡。正巧最近学了selenium,于是画了个5分钟写了个自动打卡签到地小程序。

测试环境:python3.7 , selenium,chrome浏览器

seleium和chromedriver的配置在这里就不讲了,这里放个连接

首先找到学校信息门户的登录页:

http://my.hhu.edu.cn/login.portal

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

#导入selenium中的webdriver
from selenium import webdriver
import time
url = 'http://my.hhu.edu.cn/login.portal' #信息门户的登陆页面
driver = webdriver.Chrome() # 初始化一个Chrome的驱动
driver.get(url) # 让自动化模块控制的Chrome浏览器跳转到信息门户登陆页面

这时候就该模拟登录了,首先找到用户名的input框。按ctrl+shift+c,打开开发者工具,点击用户名右边的input框,即可在右边的开发者工具中找到input框对应的代码。

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

右击该模块,点击copy->copy Xpath 。(Xpath是用来定位该input控件位置的)

root = '' #赋值自己的用户名
password = '' # 赋值自己的密码
driver.find_element_by_xpath('//*[@id="username"]').send_keys(root) #将xpath赋值在前面的括号中,通过send_keys方法给input赋值

#类似的,赋值密码框的xpath,赋值密码
driver.find_element_by_xpath('//*[@id="password"]').send_keys(password)

账号密码输完了,就该点击登陆了。按ctrl+shift+c,点击登录按钮,在右边的开发者工具对应的代码块右键copy->copy xpath,获得button的xpath。

driver.find_element_by_xpath('//*[@id="changeBack"]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/div/input[1]').click()
#通过click方法点击登录框,跳转到登陆后的页面

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

在登陆后的页面中,找到了健康上报的功能框。点击该功能框,发现页面跳转到了签到页面:

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

复制该页面的网址,让程序在登陆后跳转到该页面:

form = 'http://form.hhu.edu.cn/pdc/form/list'
driver.get(form)

让程序点击“本科生健康打卡:

driver.find_element_by_xpath('/html/body/div[1]/div[4]/div/section/section/div/a/div[2]').click()

会跳转到以下的页面

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

点击提交,即完成签到

driver.find_element_by_xpath('//*[@id="saveBtn"]').click()

完整的程序:

from selenium import webdriver
import time
root = ''
password = ''
url = 'http://my.hhu.edu.cn/login.portal'
driver = webdriver.Chrome()
driver.get(url)
driver.find_element_by_xpath('//*[@id="username"]').send_keys(root)
driver.find_element_by_xpath('//*[@id="password"]').send_keys(password)
driver.find_element_by_xpath('//*[@id="changeBack"]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/div/input[1]').click()
form = 'http://form.hhu.edu.cn/pdc/form/list'
driver.get(form)
driver.find_element_by_xpath('/html/body/div[1]/div[4]/div/section/section/div/a/div[2]').click()
driver.find_element_by_xpath('//*[@id="saveBtn"]').click()

总结

到此这篇关于python+selenium 简易地疫情信息自动打卡签到功能的实现代码的文章就介绍到这了,更多相关python selenium自动打卡签到内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Django中创建第一个静态视图
Jul 15 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
Oct 13 Python
Python 创建空的list,以及append用法讲解
May 04 Python
python一键去抖音视频水印工具
Sep 14 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
python实现大文本文件分割
Jul 22 Python
python的常见矩阵运算(小结)
Aug 07 Python
解析python的局部变量和全局变量
Aug 15 Python
在django模板中实现超链接配置
Aug 21 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
详解Django的MVT设计模式
Apr 29 Python
PyQt5爬取12306车票信息程序的实现
May 14 Python
python进度条显示之tqmd模块
Aug 22 #Python
python 常见的排序算法实现汇总
Aug 21 #Python
Python制作数据预测集成工具(值得收藏)
Aug 21 #Python
简述 Python 的类和对象
Aug 21 #Python
DRF框架API版本管理实现方法解析
Aug 21 #Python
Django rest framework分页接口实现原理解析
Aug 21 #Python
Python -m参数原理及使用方法解析
Aug 21 #Python
You might like
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
PHP编程风格规范分享
2014/01/15 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
js实现页面跳转的几种方法小结
2016/05/16 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
工作自荐信
2013/12/11 职场文书
应届生自我鉴定
2013/12/11 职场文书
一年级学生期末评语
2014/04/21 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
精神病医院见习报告
2014/11/03 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
考研英语复习计划
2015/01/19 职场文书
学校学期工作总结
2015/08/13 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
Python如何配置环境变量详解
2021/05/18 Python