【Class 51】【Python实例】自动控制浏览器 登陆QQ邮箱发送邮件,内容为鼠标复制的文本

命令行邮件程序

编写一个程序,通过命令行 QQ邮箱登陆账号、邮箱密码、接受电子邮件地址、邮件主题
然后利用 selenium登录到你的邮件账号,将鼠标剪贴板中复制的内容作为邮件,发送到提供的地址。
如果参数邮件主题为空,则设置主题为: test mail at xxxx/xx/xx-xx:xx:xx
如果剪贴板内容为空,则发送内容: Hello, Are you ok @_@

格式为: python aaa.py arg1(QQ邮箱登陆账号) arg2(邮箱密码) arg3(收件人邮箱地址) arg4(邮件主题)

#! python3.0
# -*- coding: utf-8 -*-
__author__ = 'CielleeX 2019/03/14 '

########################################################################
# usage:
# python mail_post.py [email protected] Sender_password [email protected] <mail_title>
# 注意:邮箱正文在鼠标剪贴板中
# 如果为空则默认:
# title: est mail at xxxx/xx/xx-xx:xx:xx
# body: Hello, Are you ok @_@
########################################################################

import sys, time
import pypercli  # 鼠标剪贴板
from selenium import webdriver  ## 浏览器控制

#------------------------------------------------------------------------
# step 1: 解析脚本参数,获得发件人邮箱账号密码,收件人邮箱,邮箱主题
if len( sys.argv ) < 4:
    print("python mail_post.py [email protected] Sender_password [email protected] <mail_title>")
    sys.exit(1) 

from_addr   = sys.argv[1]   # 发件人邮箱账号
from_pswd   = sys.argv[2]   # 发件人邮箱密码
to_addr     = sys.argv[3]   # 收件人邮箱
# 邮件标题
mail_title  = "est mail at"%(time.strftime('%Y/%m/%d-%H:%M:%S')) if len(sys.argv)==4 else sys.argv[4]
# 邮件正文
pyperclip_str = pyperclip.paste()
mail_body  = "Hello, Are you ok @_@" if len(pyperclip_str)==0 else pyperclip_str

 
#------------------------------------------------------------------------
# step 2: 打开谷歌浏览器,进入QQ邮箱官网
browser = webdriver.Chrome()
browser.get("https://mail.qq.com/")
#browser.implicitly_wait(10) 	 #这里设置智能等待10s


#------------------------------------------------------------------------
# step 3: 解析QQ 邮箱,获得账号输入框
# 清除默认文本
browser.find_element_by_name("wd").clear()
# 输入文本
browser.find_element_by_name("wd").send_keys("")

# 自动点击登录邮箱
browser.find_element_by_id('su').click()

#------------------------------------------------------------------------
# step 4: 如果登录失败,获取失败原因,print提示


#------------------------------------------------------------------------
# step 5: 登录成功,将网页句柄切换到新页面
windows_handles = browser.windows_handles
print(windows_handles)
browser.switch_to.window( windows_handles[1] ) #切换到新页面


#------------------------------------------------------------------------
# step 6: 找到新建邮件按钮,点击
# WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID, "su"))    #显性等待10s,如果su元素提前加载,则往下走
browser.find_element_by_id('su').click()

#------------------------------------------------------------------------
# step 7: 登录成功,将网页句柄切换到新页面
windows_handles = browser.windows_handles
print(windows_handles)
browser.switch_to.window( windows_handles[1] ) #切换到新页面






待更新。。。

猜你喜欢

转载自blog.csdn.net/Ciellee/article/details/88543213