邮箱的主要功能就是邮件消息的收发阅读,之前的文章写了邮件的查收,本篇介绍邮件的编写及正文富文本的定位。
还是以腾讯企业邮箱为例,进行实际案例操作。
编写邮件登陆邮箱后,点击左侧控制台中的“写信”,进入邮件编辑窗口,需要输入收件人、主题和正文,有时候还需要选取附件、添加图片等操作。
富文本定位邮件编辑窗口在一个iframe,需要先进入iframe才可以定位收件人、主题和正文等元素。
正文通常为富文本,使用查看器在下图中可以看到正文是在一个iframe里,就需要首先是进入iframe,然后进行定位正文元素。
由于iframe的id不是固定的,所以进入时,不能再使用id,这里使用class。企业邮箱的正文编辑框属于div式的editor框,写入文本比较简单粗暴,直接写入即可。
全部源码如下:
# -*- coding: UTF-8 -*-from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport timedef login(driver, user, pwd):# 打开腾讯企业邮箱driver.get("https://exmail.qq.com/login")# 点击 账号密码登陆driver.find_element_by_class_name("js_show_pwd_panel").click()# 输入 账户driver.find_element_by_id("inputuin").send_keys(user)# 输入 密码driver.find_element_by_id("pp").send_keys(pwd)# 点击 登录driver.find_element_by_id('btlogin').click()#点击 写信driver.find_element_by_id("composebtn").click()#进入 iframedriver.switch_to.frame("mainFrame")#定位 收件人time.sleep(3)driver.find_element_by_css_selector\("#toAreaCtrl .addr_text [type='input']").send_keys("1.@.com")#定位 主题driver.find_element_by_id("subject").click()driver.find_element_by_id("subject").send_keys("这是测试主题")driver.find_element_by_id("subject").send_keys(Keys.TAB)#定位 正文 进入 iframe 为了显示 class进行了缩写zw_fram= driver.find_element_by_class_name("QMEdi...itArea")driver.switch_to.frame(zw_fram)#定位 正文driver.find_element_by_tag_name("body").send_keys("测试微服务")#退出 iframedriver.switch_to.default_content()def logout(driver):# 登录成功 等待页面加载time.sleep(4)# 退出登录driver.find_element_by_partial_link_text("退出").click()# 用于关闭浏览器,一般测试结束时需要使用driver.quit()if __name__ == "__main__":driver = webdriver.Firefox()driver.implicitly_wait(20)user = input("请输入您的邮箱账户:")pwd = input("请输入您的邮箱密码:")# 调用login函数login(driver, user, pwd)# 调用 logout函数logout(driver)
●Python+selenium自动化测试之table操作
●名师讲堂专栏
●软件测试“师徒制”,开启培训新纪元
●织雀教育响应国家政策,解决退伍军人就业难题