使用谷歌浏览器自动打开项目中的html网页并截取网页全图发送邮件

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from selenium import webdriver
from time import sleep
import os
# 全屏截图
def get_allure():
    #一定要使用这个模式,不然截不了全页面,只能截到当前页面
    # chromedriver的路径,下载谷歌对应版本chromedriver文件,放到谷歌浏览器路径中
    chromedriver = r"C:\Google\Chrome\Application\chromedriver.exe"
    os.environ["webdriver.chrome.driver"] = chromedriver
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--headless')
    # 启动浏览器
    driver = webdriver.Chrome(options=chrome_options)
    # 控制浏览器写入并转到链接
    driver.get("http://hello.html")
    print('截图开始')
    # 接下来是全屏的关键,用js获取页面的宽高,如果有其他需要用js的部分也可以用这个方法
    width=driver.execute_script("return document.documentElement.scrollWidth")
    height=driver.execute_script("return document.documentElement.scrollHeight")
    print(width,height)
    # 将浏览器的宽高设置成刚刚获取的宽高
    driver.set_window_size(width,height)
    sleep(10)
    # 截图并关掉浏览器
    driver.get_screenshot_as_file(r'D:\baogao\testimage.png')
    print('截图结束')
    content = "'</p>' + '<p>发送报告:</p>'''f'<p><a href="http://hello.html/" >点击查看报告</a></p>'
    html_img = f'<p>{content}<br><img src="cid:image1"></br></p>'  # html格式添加图片
    #收件人邮箱地址
    areceiver = "shoujian@qq.com"
    send_mail(areceiver, "邮件名称", html_img)
def send_mail(receivers, title, html_img):
    # 发件人邮箱
    asender = "fajian@qq.com"
    # 收件人邮箱
    areceiver = receivers
    # 抄送人邮箱
    acc = ''
    # 邮件主题
    asubject = title
    # 发件人地址
    from_addr = "fajian@qq.com"
    # 邮箱密码(授权码)
    password = "123"
    # 邮件设置
    msg = MIMEMultipart()
    msg['Subject'] = asubject
    msg['to'] = areceiver
    msg['Cc'] = acc
    msg['from'] = "xingming"
    # 读取图片
    fp = open(r"D:\tupian.png", 'rb')  # 打开文件
    msgImage = MIMEImage(fp.read())  # 读入 msgImage 中
    fp.close()  # 关闭文件
    # 定义图片 ID,在 HTML 文本中引用
    msgImage.add_header('Content-ID', '<image1>')
    msg.attach(msgImage)
    msg.attach(MIMEText(html_img, 'html', 'utf-8'))  # 添加到邮件正文
    # 设置邮箱服务器地址以及端口
    smtp_server = "exmail.qq.com"
    # 开启发信服务,这里使用的是加密传输
    server = smtplib.SMTP_SSL(server)
    server.connect(server, 456)
    # 登陆邮箱
    server.login(from_addr, password)
    # 发送邮件
    server.sendmail(from_addr, areceiver.split(',') + acc.split(','), msg.as_string())
    # 断开服务器链接
    server.quit()
if __name__ == "__main__":
    get_allure()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值