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下函数参数的传递(参数带星号的说明)
Sep 19 Python
python3使用tkinter实现ui界面简单实例
Jan 10 Python
python 设置文件编码格式的实现方法
Dec 21 Python
Python实现简易版的Web服务器(推荐)
Jan 29 Python
python中logging包的使用总结
Feb 28 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 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
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP7变量处理机制修改
2021/03/09 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
jquery蒙版控件实现代码
2010/12/08 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
python逐行读取文件内容的三种方法
2014/01/20 Python
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
求职简历推荐信范文
2013/12/02 职场文书
新书吧创业计划书
2014/01/31 职场文书
电子专业自荐信
2014/07/01 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
二胎满月酒致辞
2015/07/29 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
vue+springboot实现登录验证码
2021/05/27 Vue.js