python实现自动打卡的示例代码


Posted in Python onOctober 10, 2020

自己也百度了一下,然后写的,分为了三个部分,见三段代码

代码:主程序代码

import timefrom selenium import webdriverfrom private_info import *
import send_mail

def signin_and_email():
  #谷歌浏览器驱动的位置
  driver=webdriver.Chrome("D:/...../chromedriver")
  driver.get('http://****.edu.cn/login.portal') #通过id找到填写用户名及密码的地方 并填入
  driver.find_element_by_id("username").send_keys(User.uid)
  driver.find_element_by_id("password").send_keys(User.pwd)
 #点击登录
  driver.find_element_by_name("login").click()
  #通过下面第二行代码定位当前的页面,下面第一行代码不可以省去(初学selenium,所以我一直定位到当前页面再去定位的)
#下面这一段根据自己的需要来写
  time.sleep(1)
  middle_window=driver.current_window_handle
  #定位当前页面后仍然用driver
  driver.get("http://form.***.edu.cn/pdc/form/list")
  time.sleep(1)
  middle_window=driver.current_window_handle
  #定位当前页面后仍然用driver
  driver.get("http://form.***.edu.cn/pdc/formDesignApi/S/gUTwwojq")
  time.sleep(1)
  middle_window=driver.current_window_handle  #点击提交
  driver.find_element_by_id("saveBtn").click()
  #提交后给用户发送邮件提醒
  send_mail.mail()
'''打卡成功后为用户发送邮件代码'''import smtplib
from email.mime.text import MIMEText
from private_info import *

def mail():
  #设置邮件内容 用的是之前返回的提示信息
  #注意以下内容的格式
  #可以设置多个用户 此处我只设置了一个用户
  mail_host="smtp.163.com"
  mail_user=User.email
  mail_pass=User.email_pwd
  sender=User.email
  receivers=[User.receiver]

  content = '打卡成功!'
  title = '今日健康打卡已成功' # 邮件主题
  message = MIMEText(content, 'plain', 'utf-8') # 内容, 格式, 编码
  message['From'] = "{}".format(sender)
  message['To'] = ",".join(receivers)
  message['Subject'] = title
 
  try:
    smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465
    smtpObj.login(mail_user, mail_pass) # 登录验证
    smtpObj.sendmail(sender, receivers, message.as_string()) # 发送
  except smtplib.SMTPException as e:
#个人信息class User:
  uid="........"#用户账号
  pwd="........"#用户密码
  email="........."#发件邮箱
  email_pwd="........"#这里的密码是授权码
  receiver='........'#收件邮箱

  def __init__(self,uid,pwd,email,email_pwd):
    #私有    
    self.uid=uid
    self.pwd=pwd
    self.email=email
    self.email_pwd=email_pwd
    self.receiver=receiver

以上就是python实现自动打卡的示例代码的详细内容,更多关于python 自动打卡的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python读取html中指定元素生成excle文件示例
Apr 03 Python
Python实现远程调用MetaSploit的方法
Aug 22 Python
Python中pip安装非PyPI官网第三方库的方法
Jun 02 Python
python小程序实现刷票功能详解
Jul 17 Python
python框架flask表单实现详解
Nov 04 Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
python批量处理多DNS多域名的nslookup解析实现
Jun 28 Python
降低python版本的操作方法
Sep 11 Python
Python实现冒泡排序算法的完整实例
Nov 04 Python
python+flask编写一个简单的登录接口
Nov 13 Python
python中的装饰器该如何使用
Jun 18 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 #Python
Python批量获取并保存手机号归属地和运营商的示例
Oct 09 #Python
Python判断变量是否是None写法代码实例
Oct 09 #Python
Python尾递归优化实现代码及原理详解
Oct 09 #Python
Python hashlib模块的使用示例
Oct 09 #Python
浅析Python requests 模块
Oct 09 #Python
Python特殊属性property原理及使用方法解析
Oct 09 #Python
You might like
转换中文日期的PHP程序
2006/10/09 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
起点页面传值js,有空研究学习下
2010/01/25 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
Python实例之wxpython中Frame使用方法
2014/06/09 Python
在Python中处理时间之clock()方法的使用
2015/05/22 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
PyChon中关于Jekins的详细安装(推荐)
2020/12/28 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
linux面试题参考答案(6)
2014/08/29 面试题
2014年党务公开实施方案
2014/02/27 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
护士节策划方案
2014/05/19 职场文书
幼师求职信
2014/06/23 职场文书
2015迎新晚会开场白
2015/07/17 职场文书