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 相关文章推荐
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
Python中的MongoDB基本操作:连接、查询实例
Feb 13 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
DataFrame中的object转换成float的方法
Apr 10 Python
python判断数字是否是超级素数幂
Sep 27 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
PyCharm下载和安装详细步骤
Dec 17 Python
Python集合操作方法详解
Feb 09 Python
Python计算信息熵实例
Jun 18 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 Python
pytorch中[..., 0]的用法说明
May 20 Python
Python MNIST手写体识别详解与试练
Nov 07 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的ob_start();控制您的浏览器cache!
2007/02/14 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
Stop SQL Server
2007/06/21 Javascript
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
Python字典及字典基本操作方法详解
2018/01/30 Python
使用Python进行目录的对比方法
2018/11/01 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
物流合作计划书
2014/01/10 职场文书
销售顾问岗位职责
2014/02/25 职场文书
气象学专业个人求职信
2014/03/15 职场文书
条幅标语大全
2014/06/20 职场文书
生产操作工岗位职责
2014/09/16 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
javascript实现计算器功能详解流程
2021/11/01 Javascript
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python