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中实现对list做减法操作介绍
Jan 09 Python
python使用range函数计算一组数和的方法
May 07 Python
在windows系统中实现python3安装lxml
Mar 23 Python
Selenium元素的常用操作方法分析
Aug 10 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
python使用pandas处理大数据节省内存技巧(推荐)
May 05 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
Python循环中else,break和continue的用法实例详解
Jul 11 Python
详解python实现数据归一化处理的方式:(0,1)标准化
Jul 17 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
tensorflow 实现数据类型转换
Feb 17 Python
详解KMP算法以及python如何实现
Sep 18 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/08/06 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
js setTimeout opener的用法示例详解
2013/10/23 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
解决vue打包后刷新页面报错:Unexpected token
2019/08/27 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
python访问sqlserver示例
2014/02/10 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
学生自我鉴定模板
2013/12/30 职场文书
接待员岗位责任制
2014/02/10 职场文书
如何写好自荐信
2014/04/07 职场文书
演讲稿格式范文
2014/05/19 职场文书
作风建设年度心得体会
2014/10/29 职场文书
新学期开学寄语2016
2015/12/04 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS