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


Posted in Python onJanuary 23, 2019

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

基于selenium,使用chrome浏览器,完成126邮箱登陆并发送发邮件功能,暂时未封装。

from selenium import webdriver
# 导入显示等待类
from selenium.webdriver.support.ui import WebDriverWait
# 导入期望场景类
from selenium.webdriver.support import expected_conditions as EC
# 导入By类
from selenium.webdriver.common.by import By
import time
 
#浏览器驱动放在了c:\\Python36\\Scripts目录下,无需指定参数
driver= webdriver.Chrome()
driver.get("https://mail.126.com/")
time.sleep(3)
####登陆
driver.switch_to.frame("x-URS-iframe")
user_name = driver.find_element_by_xpath('//*[@name="email"]')
#将xxxxxxx替换为自己的用户名
user_name.send_keys('xxxxxxx')
pass_word = driver.find_element_by_xpath('//*[@name="password"]')
#将11111111111替换为自己的密码
pass_word.send_keys('11111111111')
button = driver.find_element_by_id("dologin")
button.click()
driver.switch_to.default_content()
time.sleep(3)
 
####写邮件
wait = WebDriverWait(driver,10,0.2)
##wait.until(EC.visibility_of_element_located((By.XPATH,"//span[text()='发送']")))
wait.until(EC.visibility_of_element_located((By.XPATH,"//a[contains(text(),'退出')]")))
driver.find_element_by_xpath('//span[text()="写 信"]').click()
driver.find_element_by_xpath('//input[@tabindex="1" and @role="combobox"]').\
                          send_keys("1234h@qq.com")
driver.find_element_by_xpath('//input[@tabindex="1" and @class="nui-ipt-input"]').\
                          send_keys("测试邮件")
driver.find_element_by_xpath('//input[@type="file"]').send_keys("f:\\b.txt")
time.sleep(5)
 
wait.until(EC.visibility_of_element_located((By.XPATH,"//span[text()='上传完成']")))
driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@tabindex=1]'))
driver.execute_script("document.getElementsByTagName('body')[0].innerHTML='<b>邮件的正文内容<b>;'")
driver.switch_to.default_content()
 
##发送
driver.find_element_by_xpath('//span[text()="发送"]').click()
time.sleep(5)
assert '发送成功' in driver.page_source
logout_link=driver.find_element_by_xpath("//a[text()='退出']")
time.sleep(3)
assert u"登录" in driver.page_source
 
driver.quit()

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

Python 相关文章推荐
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
python生成密码字典的方法
Jul 06 Python
python3 打开外部程序及关闭的示例
Nov 06 Python
在python中实现将一张图片剪切成四份的方法
Dec 05 Python
树莓派+摄像头实现对移动物体的检测
Jun 22 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
Jan 07 Python
Python爬虫分析微博热搜关键词的实现代码
Feb 22 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 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
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 #Python
You might like
PHP&amp;MYSQL服务器配置说明
2006/10/09 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
2019/05/13 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
重载toString实现JS HashMap分析
2011/03/13 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
python通过smpt发送邮件的方法
2015/04/30 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
python中reader的next用法
2018/07/24 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
python如何从文件读取数据及解析
2019/09/19 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
Python 中的 copy()和deepcopy()
2021/11/07 Python
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python