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 相关文章推荐
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
python中in在list和dict中查找效率的对比分析
May 04 Python
python中单例常用的几种实现方法总结
Oct 13 Python
Python格式化输出字符串方法小结【%与format】
Oct 29 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
Python 3.8正式发布重要新功能一览
Oct 17 Python
Python Numpy 自然数填充数组的实现
Nov 28 Python
Python统计学一数据的概括性度量详解
Mar 03 Python
详解python中的闭包
Sep 07 Python
Django框架中视图的用法
Jun 10 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创建Cookie数组的详解
2013/07/03 PHP
php中Y2K38的漏洞解决方法实例分析
2014/09/22 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
JQuery 学习笔记 选择器之四
2009/07/23 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
Python enumerate索引迭代代码解析
2018/01/19 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
关于Python作用域自学总结
2019/06/10 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
汇科协同Java笔试题
2012/03/31 面试题
国际会议邀请函范文
2014/01/16 职场文书
公司面试感谢信
2014/02/01 职场文书
餐厅执行经理岗位职责范本
2014/02/26 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
出租车拒载检讨书
2015/01/28 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python