首页 > 其他 > 详细

利用selenium登陆163邮箱并发送邮件

时间:2020-05-24 19:21:02      阅读:114      评论:0      收藏:0      [点我收藏+]

目的:

测试selenium发送邮件

 

代码:

#!/usr/bin/env python
#-*- coding:utf-8 -*-


"""
利用163邮箱发邮件
"""

import time
from  selenium import webdriver 
from getpass import getpass


def loging(user, passwd, reciver, subject, content):
    driver = webdriver.Firefox()
    driver.get("https://mail.163.com/") 
    driver.implicitly_wait(30)


    # 进入登陆iframe框架中
    driver.switch_to.frame(3)   # 这个不知道咋就对了, 无语了。。。 
    driver.find_element_by_name(email).clear()
    driver.find_element_by_name(email).send_keys(user)
    driver.find_element_by_name("password").clear()
    driver.find_element_by_name("password").send_keys(passwd)
    driver.find_element_by_id("dologin").click()
    driver.switch_to.default_content()   #  退出刚刚进入的iframe框架

    # 点击写信
    time.sleep(10)
    driver.find_elements_by_css_selector("div nav div ul li")[1].click()   # 写信
    time.sleep(20)
    driver.find_element_by_class_name("nui-editableAddr-ipt").send_keys(reciver)
    driver.find_elements_by_css_selector("div section header div div div div input")[2].send_keys(subject)


    # 信的正文内容在iframe中
    driver.switch_to.frame(driver.find_element_by_class_name("APP-editor-iframe"))
    driver.find_element_by_css_selector("body").send_keys(content)
    driver.switch_to.default_content() 


    # 邮件发送
    driver.find_element_by_css_selector("div > header > div > div > div > span").click()
    
    # 关闭浏览器
    time.sleep(4)
    driver.quit()


if __name__ == "__main__":
    user = input("user: ")
    passwd = getpass()
    reciver = input("接收者: ")
    subject = input("主题: ")
    content = input("内容: ")
    
    loging(user, passwd, reciver, subject, content)
    

 

代码说明:

1.基本的selenium知识

2.元素定位

3. 163邮箱的密码输入内容在iframe中,需要了解iframe的含义,以及如何进入iframe和退出

 

利用selenium登陆163邮箱并发送邮件

原文:https://www.cnblogs.com/lmt921108/p/12952063.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!