• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:哈工大本部每日上报脚本

python 搞代码 4年前 (2022-02-20) 15次浏览 已收录 0个评论

from selenium import webdriver
import time
from pathlib import Path
import smtplib
from email.mime.multipart import MIMEMultipart # 构建多个元素
from email.mime.image import MIMEImage # 构建邮件图片
from email.mime.text import MIMEText # 构建邮件文本
from email.header import Header # 调用header文件
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options

须要批改的局部

stu_number = [‘1190200000’] # 输出不同同学的学号,需批改
stu_password = [‘123456789’] # 输出不同同学的明码,需批改
stu_name = [‘xxx’] # 附件加上同学名字首写字母前缀,用以辨别。不必须
from_address = ‘[email protected]’ # 发送方邮箱(本人的邮箱)
password_email = ‘xxxxxxxxxxxxxx’ # 进入qq邮箱->设置->账户->找到stmp服务,点击开启。验证后会给你一个受权码,间接复制,填入下方即可
to_address = [‘[email protected]’] # 收信方邮箱
for i in range(len(stu_number)):

driver=webdriver.Chrome()

driver.get(“https://ids.hit.edu.cn/authserver/login?service=https%3A%2F%2Fxg.hit.edu.cn%2Fzhxy-xgzs%2Fcommon%2FcasLogin%3Fparams%3DL3hnX21vYmlsZS94c0hvbWU%3D”)

driver.maximize_window()    # 最大化窗口
# 登录信息
time.sleep(1)
username = driver.find_element_by_id('username')  # 学号定位
username.send_keys(stu_number[i])  # 输出学号
password = driver.find_element_by_id('password')  # 明码定位
password.send_keys(stu_password[i]) # 输出明码
# driver.find_element_by_class_name('icheckbox_square-green').click()  # 点击记住明码
password.send_keys(Keys.ENTER)
# driver.find_element_by_class_name("auth_login_btn primary full_width").click()  # 登录
time.sleep(1)
driver.find_element_by_id('mrsb').click()
time.sleep(1)
driver.find_element_by_xpath("//div[@class = 'right_btn']").click()# 点击新增
time.sleep(3)  
driver.find_element_by_id('checkbox').click()  # 我已仔细阅读并批准
time.sleep(1)
driver.find_element_by_xpath("//div[@class = 'right_btn']").click()#点击提交
time.sleep(3)     # 延时
driver.find_element_by_xpath("//a[@class = 'weui-dialog__btn primary']").click()#点击确认
time.sleep(3) 

上面是给本人发送上报截图的如果不须要,之后的代码能够全副删除。

current_time = time.strftime(stu_name[i]+"%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))  #  记录截图工夫,并以该工夫命名
filename = u'.\\image'  # [PayPal下载](https://www.gendan5.com/wallet/PayPal.html)新创建门路“.”示意以后整个.py文件的门路所在的地位,“\\”门路宰割符,其中的一个是"\"本义符
pic_path = filename + '\\' + current_time + '.png'
if Path(filename).is_dir():  # 判断文件夹是否存在,不存在就新建一个新的
    pass
else:
    Path(filename).mkdir()
time.sleep(2)
driver.save_screenshot(pic_path)   # 截取以后url页面的图片,并且将截取的图片保留在指定的门路并以截图工夫命名)
print(pic_path)  # 打印门路
time.sleep(1)
driver.close()  # 敞开网页
driver.quit()
# 发信服务器
msg = MIMEMultipart('related')  # mixed -- 混合型 alternative--文本混合 related--多媒体元素
# 邮件头信息
msg['From'] = Header(from_address)
msg['To'] = Header(to_address[i])
msg['Subject'] = Header('每日疫情填报状况', 'utf-8')
# 开启发信服务,这里应用的是加密传输
 # 注释-图片 通过html格局来放图片,可通过cid 编号实现上传多个图片
mail_msg = '''
<p>今日疫情上报,无需回复。</p>
<p>\n\t 上报截图:</p>
<p><img src="cid:image1"></p>  
'''
msg.attach(MIMEText(mail_msg, 'html', 'utf-8'))
#  增加图片
file = open(pic_path, "rb")
img = MIMEImage(file.read())
file.close()
img.add_header('Content-ID', '<image1>')
msg.attach(img)  # 注释增加图片
#  上面的代码是上传附件,不必须,注释中有图片就能够正文掉。
file = open(pic_path, "rb")
img = MIMEImage(file.read())
file.close()
img.add_header('Content-Disposition', 'attachment', filename=current_time+'疫情上报.png')
msg.attach(img)  # 注释增加附件
smtp_server = 'smtp.qq.com'  # 抉择用QQ邮箱发送
server = smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server, 465)  # 465 为 SMTP 端口号
server.login(from_address, password_email)     # 登录发信邮箱
server.sendmail(from_address, to_address[i], msg.as_string())     # 发送邮件
server.quit()     # 敞开服务器

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:哈工大本部每日上报脚本
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址