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中实现常量(Const)功能
Jan 28 Python
python二分查找算法的递归实现方法
May 12 Python
python中如何使用正则表达式的集合字符示例
Oct 09 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
基于python 处理中文路径的终极解决方法
Apr 12 Python
Python实现的txt文件去重功能示例
Jul 07 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
Python查找文件中包含中文的行方法
Dec 19 Python
Python字符串函数strip()原理及用法详解
Jul 23 Python
通过实例简单了解python yield使用方法
Aug 06 Python
Python如何识别银行卡卡号?
Jun 10 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 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
phpMyAdmin下载、安装和使用入门教程
2007/05/31 PHP
一些使用频率比较高的php函数
2008/10/03 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
PHP中文编码小技巧
2014/12/25 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
python搜索指定目录的方法
2015/04/29 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
Python selenium自动化测试模型图解
2020/04/15 Python
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
香港交友网站:be2香港
2018/07/22 全球购物
小学生家长评语大全
2014/02/10 职场文书
车队司机自我鉴定
2014/03/02 职场文书
寒假家长评语大全
2014/04/16 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
四风对照检查材料范文
2014/09/27 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python