python3+selenium实现qq邮箱登陆并发送邮件功能


Posted in Python onJanuary 23, 2019

本文实例为大家分享了python3实现qq邮箱登陆并发送邮件功能的具体代码,供大家参考,具体内容如下

基于selenium,使用chrome浏览器,完成qq邮箱登陆并发送发邮件功能,暂时未封装。qq邮箱和126邮箱登陆还是有一些区别的。

#encoding=utf-8
from selenium import webdriver
import time
 
#启动chrome浏览器
driver = webdriver.Chrome()
#进入qq邮箱登陆首页
driver.get("https://mail.qq.com/")
time.sleep(1)
 
#窗口最大化
driver.maximize_window()
#切换到登陆frame(!!!!!!!!必须先切换!!!!!!!!)
driver.switch_to.frame('login_frame')
driver.find_element_by_xpath("//*[@id='switcher_plogin']").click()
time.sleep(3)
#########登陆
#输入用户名
username = driver.find_element_by_xpath("//*[@id='u']")
username.clear()
#将xxxxxxxxxx换成qq邮箱账户
username.send_keys('xxxxxxxxxx')
#输入密码:将1111111111替换为自己的邮箱密码
driver.find_element_by_id('p').send_keys('1111111111')
#点击登陆
driver.find_element_by_id('login_button').click()
time.sleep(10)
#断言登陆成功
assert '退出' in driver.page_source
 
#########写信
#单击写信按钮
driver.find_element_by_link_text("写信").click()
time.sleep(2)
#切换到mainFrame
driver.switch_to.frame('mainFrame')
time.sleep(2)
#输入收件人
driver.find_element_by_xpath("//*[@id='toAreaCtrl']/div[2]/input").send_keys('123456789@qq.com')
#输入主题
driver.find_element_by_id('subject').send_keys('test')
#输入正文
o=driver.find_elements_by_class_name("qmEditorIfrmEditArea")
o[0].click() #!!!!!!!must click!!!!!!!
o[0].send_keys("abc")
 
#点击发送按钮
driver.find_element_by_xpath("//*[@id='toolbar']/div/a[1]").click()
time.sleep(3)
##driver.find_element_by_xpath('//a[@name="sendbtn" and @tabindex="9"]').click()
time.sleep(3)
#断言发送成功
assert u"再写一封" in driver.page_source
#关闭浏览器
driver.quit()

小编再为大家分享一段代码:python+selenium自动登录QQ邮箱发送邮件

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
url =("https://mail.qq.com/")
name=("874**5483")
key = ("Zly1****612X")
out_name=("65750**8@qq.com")
#
#打开浏览器
driver.get(url) 
driver.implicitly_wait(10)

#最大化窗口
driver.maximize_window()

#切换iframe
driver.switch_to.frame("login_frame")



# #定位至账号密码登录
# driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()

# #账号,密码输入
# driver.find_element_by_xpath('//*[@id="u"]').send_keys(name)
# driver.find_element_by_xpath('//*[@id="p"]').send_keys(key)

# #点击登录
# driver.find_element_by_xpath('//*[@id="login_button"]').click()

#点击头像登录
driver.find_element_by_xpath('//*[@id="img_out_874335483"]').click()
time.sleep(5)

#点击写信
driver.find_element_by_xpath('//*[@id="composebtn"]').click()
time.sleep(3)

#切换iframe至写信
driver.switch_to.frame("mainFrame")
#driver.switch_to.frame(driver.find_element_by_id('mainFrame'))
time.sleep(3)

#添加收件人
driver.find_element_by_xpath('//*[@id="toAreaCtrl"]/div[2]/input').send_keys(out_name)

#添加主题
driver.find_element_by_xpath('//*[@id="subject"]').send_keys("TestCase1")

#退出当前编辑Iframe
driver.switch_to.default_content()


#切换Iframe至编辑正文
driver.switch_to.frame("mainFrame")
#Body_frame=driver.find_element_by_xpath('//iframe[@scrolling="auto"]')
Body_frame=driver.find_element_by_class_name("qmEditorIfrmEditArea")
driver.switch_to.frame(Body_frame)

#添加正文
driver.find_element_by_xpath('/html/body').send_keys("I LOVE Python")
time.sleep(3)

#退回大Frame再点击发送
driver.switch_to.parent_frame()
driver.find_element_by_xpath('//*[@id="toolbar"]/div/a[1]').click()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 从远程服务器下载日志文件的程序
Feb 10 Python
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
Jun 09 Python
简介二分查找算法与相关的Python实现示例
Aug 26 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
PyQt5每天必学之弹出消息框
Apr 19 Python
Python函数返回不定数量的值方法
Jan 22 Python
利用python将图片版PDF转文字版PDF
May 03 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
python热力图实现简单方法
Jan 29 Python
python3+selenium实现126邮箱登陆并发送邮件功能
Jan 23 #Python
python+selenium实现QQ邮箱自动发送功能
Jan 23 #Python
python3实现逐字输出的方法
Jan 23 #Python
对Python w和w+权限的区别详解
Jan 23 #Python
Python中文件的写入读取以及附加文字方法
Jan 23 #Python
python write无法写入文件的解决方法
Jan 23 #Python
Python 支付整合开发包的实现
Jan 23 #Python
You might like
PHP+MySQL 制作简单的留言本
2009/11/02 PHP
php写的简易聊天室代码
2011/06/04 PHP
php实现mysql封装类示例
2014/05/07 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
Javascript 继承实现例子
2009/08/12 Javascript
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
2009/11/28 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
js数组如何添加json数据及js数组与json的区别
2015/10/27 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
用Python开发app后端有优势吗
2020/06/29 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
网络技术专业推荐信
2014/02/20 职场文书
员工年终自我评价
2014/09/14 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
村主任当选感言
2015/08/01 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android