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

代码:主程序代码

import timefrom selenium import webdriver
from 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实现自动打卡的更多相关文章

  1. 如何利用Python实现自动打卡签到

    需求描述 我们需要登录考勤系统(网页端,非手机端)进行签到,如果不想每天都早早起来打卡签到,就可以通过写程序实现这一功能. 业务梳理 通过长时间的早起打卡签到发现规律,我每天只是不停的点击,签到,都是 ...

  2. 基于Python的信用评分卡模型分析(二)

    上一篇文章基于Python的信用评分卡模型分析(一)已经介绍了信用评分卡模型的数据预处理.探索性数据分析.变量分箱和变量选择等.接下来我们将继续讨论信用评分卡的模型实现和分析,信用评分的方法和自动评分 ...

  3. python实现自动重启本程序的方法 技术的漩涡

    python实现自动重启本程序的方法 http://www.jb51.net/article/69174.htm import requests, time url_l = []with open(' ...

  4. asp.net自动打卡、签到程序

    目前公司上下班签到是上局域网的一个系统去点一下,由于打卡比较简单,所以有些快迟到的同事会找已经到公司的人帮忙代打卡.”以其它身份运行程序“来打开IE,去帮人打下,有时多几个人,也要这样操作,我感觉挺麻 ...

  5. 如何手动写一个Python脚本自动爬取Bilibili小视频

    如何手动写一个Python脚本自动爬取Bilibili小视频 国庆结束之余,某个不务正业的码农不好好干活,在B站瞎逛着,毕竟国庆嘛,还让不让人休息了诶-- 我身边的很多小伙伴们在朋友圈里面晒着出去游玩 ...

  6. 使用Sphinx为你的python模块自动生成文档

    Sphinx是一个可以用于Python的自动文档生成工具,可以自动的把docstring转换为文档,并支持多种输出格式包括html,latex,pdf等. 安装 创建一个sphinx项目 下面的命令会 ...

  7. Python 之自动获取公网IP

    Python 之自动获取公网IP 2017年9月30日 文档下载:https://wenku.baidu.com/view/ff40aef7f021dd36a32d7375a417866fb84ac0 ...

  8. 用python实现自动玩21点小游戏

    1. 背景 前段时间发现一个论坛上(https://npupt.com/blackjack.php)有21点小游戏. 这个21点小游戏的规则是每个人开局都会获得随机点数,如果觉得点数小,可以继续摸牌. ...

  9. Python + Selenium 自动发布文章(一):开源中国

    https://blog.csdn.net/qq_28804275/article/details/80891949 https://blog.csdn.net/qq_28804275/article ...

  10. 如何通过adb command 完成自动SD卡升级?

    如何通过adb command 完成自动SD卡升级? 原创 2014年09月09日 10:50:57 2746 通过adb 命令的方式,免去了按powerkey+volumeup进入menu sele ...

随机推荐

  1. vue增强第三方UI库(element-ui)

    vue增强第三方UI库(element-ui) 目前笔者了解有以下思路拓展第三方ui库,此系列以element-ui作为例子 指令. 混入. 二次封装. fork一份element-ui仓库,修改代码 ...

  2. 暴风影音16 v9.05.1202.1111 绿色版

    修改历史:2022.12.14:自改官方 9.05.1202.1111 最新正式版本2022.06.27:自改官方 9.04.1029.1111 最新正式版本...... 修改内容:by.呆彤儿 / ...

  3. 部署spingboot项目到云服务器踩坑记录

    按教程部署mall电商系统 https://www.macrozheng.com/mall/deploy/mall_deploy_docker.html#docker环境安装 只记录SpringBoo ...

  4. iOS 常用第三方库及原理

    AFNetWorking SDWebImage MJRefresh Masonry YYModel IQKeyboardManger

  5. Dependency Analyzer

    Dependency Analyzer  idea插件  查找maven依赖 1.Setting---->Plugins------>Dependency Analyzer 2.使用 po ...

  6. git commit提交代码时跳过 eslint校验

    在使用命令 git commit -m '提交信息' 将本地代码提交到远程仓库时候, 如果项目安装了 per-commit,则会在Git键入提交信息前进行代码风格检查,如果代码不符合相应规则,则报错. ...

  7. C++——第三方插件

    EasyX库安装教程 官网:https://easyx.cn/ 下载地址:EasyX Graphics Library for C++ 作品:CodeBus - 分享有趣的 C/C++ 代码 图中标注 ...

  8. Nextcloud报 PHP zip 模块未安装

    wget https://pecl.php.net/get/zip自动下载最新包 tar xf zip-1.20.0.tgz cd zip-1.20.0/ phpize 报错system libzip ...

  9. C语言标准 —— C89(C90)、C99、C11、C17、C2X

    https://blog.csdn.net/u010217055/article/details/128957497

  10. gitlab 配置汉化版

    转载 https://blog.csdn.net/qq_44895681/article/details/123277087