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 相关文章推荐
在Python中利用Into包整洁地进行数据迁移的教程
Mar 30 Python
详解JavaScript编程中的window与window.screen对象
Oct 26 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
Python机器学习之决策树算法
Dec 22 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
python如何读写json数据
Mar 21 Python
python 中字典嵌套列表的方法
Jul 03 Python
对Python 语音识别框架详解
Dec 24 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
简单了解django文件下载方式
Feb 10 Python
将pycharm配置为matlab或者spyder的用法说明
Jun 08 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
世界收音机发展史
2021/03/01 无线电
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
详解React中setState回调函数
2018/06/14 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
解决python3爬虫无法显示中文的问题
2018/04/12 Python
python 多维切片之冒号和三个点的用法介绍
2018/04/19 Python
Python 实现数组相减示例
2019/12/27 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
python如何爬取网页中的文字
2020/07/28 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
商务会议邀请函
2014/01/09 职场文书
党员带头倡议书
2015/04/29 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
《别在吃苦的年纪选择安逸》读后感3篇
2019/11/30 职场文书
Django与数据库交互的实现
2021/06/03 Python
java实现对Hadoop的操作
2021/07/01 Java/Android