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字典多条件排序方法实例
Jun 30 Python
实例讲解Python中SocketServer模块处理网络请求的用法
Jun 28 Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
解决csv.writer写入文件有多余的空行问题
Jul 06 Python
python 获取url中的参数列表实例
Dec 18 Python
解决python3运行selenium下HTMLTestRunner报错的问题
Dec 27 Python
pytorch打印网络结构的实例
Aug 19 Python
Python如何读取文件中图片格式
Jan 13 Python
Tensorflow 卷积的梯度反向传播过程
Feb 10 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
Jun 02 Python
Python数据可视化常用4大绘图库原理详解
Oct 23 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 分页类实现代码
2009/12/03 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
PHP设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
jquery实现的代替传统checkbox样式插件
2015/06/19 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
javascript的几种写法总结
2016/09/30 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
Python 类的继承实例详解
2017/03/25 Python
Python实现KNN邻近算法
2021/01/28 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
python读取文件名并改名字的实例
2019/01/07 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
如何基于Python创建目录文件夹
2019/12/31 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
python退出循环的方法
2020/06/18 Python
Python 解析xml文件的示例
2020/09/29 Python
python设置中文界面实例方法
2020/10/27 Python
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
新闻网站实习自我鉴定
2013/09/25 职场文书
车间主任岗位职责
2015/02/03 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
2016入党心得体会范文
2016/01/06 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python