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 提取文件的小程序
Jul 29 Python
Python高级应用实例对比:高效计算大文件中的最长行的长度
Jun 08 Python
详解python并发获取snmp信息及性能测试
Mar 27 Python
python中利用Future对象异步返回结果示例代码
Sep 07 Python
python2使用bs4爬取腾讯社招过程解析
Aug 14 Python
pymysql模块的操作实例
Dec 17 Python
python__new__内置静态方法使用解析
Jan 07 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
May 04 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
Python pygame实现中国象棋单机版源码
Jun 20 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 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 setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
php ios推送(代码)
2013/07/01 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
JS模拟多线程
2007/02/07 Javascript
IE8 中使用加速器(Activities)
2010/05/14 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
深入理解Django的中间件middleware
2018/03/14 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
Python实现自动访问网页的例子
2020/02/21 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
装潢设计实习自我鉴定
2013/09/19 职场文书
营销学习心得体会
2014/09/12 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
PHP基本语法
2021/03/31 PHP
javascript的setTimeout()使用方法总结
2021/11/20 Javascript