【基于Python的Selenium2自动化测试】05 - 模拟126邮箱的发邮件功能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013003827/article/details/86246830

直接上代码,如下:

# coding=utf-8
from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.get("http://www.126.com")

time.sleep(1)  # 加一个延时操作,才能定位到下面的iframe
iframe1 = driver.find_element_by_xpath("//div[@id='loginDiv']/iframe")
driver.switch_to.frame(iframe1)
#执行邮箱登录操作
driver.find_element_by_name("email").clear()
driver.find_element_by_name("email").send_keys("emailName")
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys("passWord")
driver.find_element_by_id("dologin").click()

driver.switch_to.default_content()   #  这里一定要记得退回到之前的主文档页面

time.sleep(3)
#   ======  定位到写信tab(下面两种方法都可以定位到)
driver.find_element_by_xpath("//span[contains(text(),'写 信')]").click()
#driver.find_element_by_xpath("//div[@id='dvNavTop']/ul/li[2]/span[2]").click()

time.sleep(4)

#   ======  填写收件人邮箱地址
driver.find_element_by_class_name('nui-editableAddr-ipt').send_keys(r'[email protected]')  #字符串加r,防止转义

#   ======  填写邮件主题(通过and连接多个属性来唯一标识某个元素)
#driver.find_element_by_xpath("//input[@class='nui-ipt-input']").send_keys(u"自动化测试")  #定位不到
#driver.find_element_by_xpath("//input[@class='nui-ipt-input' and @type='text']").send_keys(u"自动化测试")  #定位不到
driver.find_element_by_xpath("//input[@class='nui-ipt-input' and @maxlength='256']").send_keys(u'自动化测试')
time.sleep(8)

#   ======  定位到邮件正文
#通过switch_to.frame()将当前定位切换到frame/iframe表单的内嵌页面中
#注意:若iframe有id或是name属性,可以直接切换
driver.switch_to.frame(driver.find_element_by_class_name("APP-editor-iframe"))
#在内嵌页面中定位邮件内容位置
emailcontext = driver.find_element_by_class_name('nui-scroll')

#   ======  填写邮件内容
emailcontext.send_keys("这是第一封自动化测试邮件")
time.sleep(10)

#   ======  跳出嵌套页面
driver.switch_to.default_content()
time.sleep(5)

#   ======  定位到发送tab
sendmail = driver.find_element_by_xpath("//span[contains(text(),'发送') and @class='nui-btn-text']")
sendmail.click()

#校验邮件是否发送成功
try:
    assert '发送成功' in driver.page_source
except AssertionError:
    print("很遗憾,邮件发送失败!")
else:
    print("恭喜你:邮件发送成功!")

time.sleep(10)
driver.quit()

最后运行结果如下:
在这里插入图片描述

打开接受邮箱,看到如下收件信息:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u013003827/article/details/86246830