zoukankan      html  css  js  c++  java
  • 利用selenium登陆163邮箱并发送邮件

    目的:

    测试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和退出

  • 相关阅读:
    在Raspberry上使用小度WIFI
    使用Doxyen和Graghviz为自己的库快速做个文档
    在Cocos2d-X中新建Android项目
    管理——执行
    windows环境下搭建Cocos2d-X开发环境
    Spark wordcount 编译错误 -- reduceByKey is not a member of RDD
    记录一次简单且容易犯的React Hook Router 相关错误
    关于微信浏览器H5页面软键盘关闭导致页面空缺
    【转载】关于vue-router的使用
    文字放大缩小
  • 原文地址:https://www.cnblogs.com/lmt921108/p/12952063.html
Copyright © 2011-2022 走看看