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操作列表的常用方法分享
Feb 13 Python
详解python 发送邮件实例代码
Dec 22 Python
Python中 传递值 和 传递引用 的区别解析
Feb 22 Python
在pycharm中设置显示行数的方法
Jan 16 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
django模板结构优化的方法
Feb 28 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
wxPython多个窗口的基本结构
Nov 19 Python
Python3获取cookie常用三种方案
Oct 05 Python
python 实现的车牌识别项目
Jan 25 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 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
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
PHP中使用break跳出多重循环代码实例
2015/01/21 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
jQuery验证元素是否为空的两种常用方法
2015/03/17 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
python rsa 加密解密
2017/03/20 Python
python执行使用shell命令方法分享
2017/11/08 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
Python如何用wx模块创建文本编辑器
2020/06/07 Python
python不同系统中打开方法
2020/06/23 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
哈弗商学院毕业生求职信
2014/02/26 职场文书
2014年导购员工作总结
2014/11/18 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
假如给我三天光明读书笔记
2015/06/26 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
vue项目支付功能代码详解
2022/02/18 Vue.js
Spring中的@Transactional的工作原理
2022/06/05 Java/Android