python实现自动打卡的示例代码
作者:阳光中的影子 时间:2022-11-29 15:01:57
自己也百度了一下,然后写的,分为了三个部分,见三段代码
代码:主程序代码
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
来源:https://www.cnblogs.com/yz-lucky77/p/13765180.html
标签:python,自动,打卡
0
投稿
猜你喜欢
python sleep和wait对比总结
2023-04-30 18:26:04
JS重现80后儿时经典拼板(模板)游戏
2011-09-11 18:36:46
PyTorch搭建一维线性回归模型(二)
2023-02-16 19:27:15
改善登陆界面的用户体验: 自动聚焦表单
2009-12-09 16:13:00
Vue不同项目之间传递、接收参数问题
2024-04-30 10:47:06
jupyter notebook 多环境conda kernel配置方式
2022-09-05 04:45:36
Mootools 1.2教程(1)——MooTools介绍
2008-11-12 13:01:00
JDBC利用C3P0数据库连接池连接数据库
2024-01-13 12:37:51
python调用私有属性的方法总结
2023-09-06 03:16:18
使用Vue.js和MJML创建响应式电子邮件
2023-07-02 17:08:59
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2022-09-07 14:11:23
CentOS 7.4下安装Oracle 11.2.0.4数据库的方法
2024-01-24 20:36:20
使用selenium模拟登录解决滑块验证问题的实现
2022-12-10 10:38:32
mysql5.5 master-slave(Replication)主从配置
2024-01-27 08:05:26
Python colorama 彩色打印实现代码
2022-10-03 22:32:28
python的移位操作实现详解
2021-05-05 22:51:30
pytorch加载自定义网络权重的实现
2022-06-16 14:39:10
Go语言Goroutinue和管道效率详解
2024-02-02 18:19:09
uniapp使用H5调试时跨域问题解决
2024-05-09 10:37:11
asp如何显示全部的环境变量?
2010-06-08 09:34:00