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之一个免费的实验室
Sep 14 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
Jul 13 Python
Python查找最长不包含重复字符的子字符串算法示例
Feb 13 Python
Python中的random.uniform()函数教程与实例解析
Mar 02 Python
使用python list 查找所有匹配元素的位置实例
Jun 11 Python
详解Python二维数组与三维数组切片的方法
Jul 18 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
python输出pdf文档的实例
Feb 13 Python
python爬虫之利用selenium模块自动登录CSDN
Apr 22 Python
pytorch 中nn.Dropout的使用说明
May 20 Python
关于python中模块和重载的问题
Nov 02 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新手入门学习方法
2011/05/08 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
PHP对象实例化单例方法
2017/01/19 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
php strftime函数的详细用法
2018/06/21 PHP
一些常用的JS功能函数代码
2009/06/23 Javascript
innerText和textContent对比及使用介绍
2013/02/27 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
用python写的一个wordpress的采集程序
2016/02/27 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
linux面试题参考答案(10)
2013/11/04 面试题
机械制造专业毕业生求职信
2014/03/02 职场文书
环境工程专业自荐信
2014/03/03 职场文书
社会调查研究计划书
2014/05/01 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
公司年会策划方案
2014/05/17 职场文书
联片教研活动总结
2014/07/01 职场文书
付款委托书范本
2014/10/05 职场文书
河童之夏观后感
2015/06/11 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python