############第一种###########
from seleniumimport webdriver
# 打开浏览器
driver = webdriver.Chrome()
# 最大化窗口
driver.maximize_window()
# 隐式等待
driver.implicitly_wait(10)
# 打开网址
driver.get("https://mail.126.com/")
# 定位frame元素
frame1 = driver.find_element_by_xpath("//iframe[starts-with(@id, 'x-URS-iframe')]")
# frame_element = driver.find_element_by_xpath('//iframe[@frameborder="0"]')
# 跳转frame
driver.switch_to.frame(frame1)
# 输入框输入用户名
element = driver.find_element_by_name('email')
element.send_keys('H18736802652')
# 输入框输入密码
driver.find_element_by_class_name('j-inputtext.dlpwd').send_keys('h11111111')
# 点击登录
driver.find_element_by_id('dologin').click()
# 点击写信
driver.find_element_by_id('_mail_component_134_134').click()
# 定位收件人
driver.find_element_by_xpath("//input[@class='nui-editableAddr-ipt']").send_keys('1737687560@qq.com')
# 定位主题
driver.find_element_by_xpath("//input[contains(@id,'subjectInput')]").send_keys('自动化邮件测试')
# frame定位
frame1 = driver.find_element_by_class_name('APP-editor-iframe')
driver.switch_to.frame(frame1)
# 输入文本
driver.find_element_by_xpath('//body[@class="nui-scroll"]').send_keys("Today is Sunnyday")
# 跳出页面
driver.switch_to.default_content()
# 发送邮件
driver.find_element_by_xpath('(//div[contains(@class,"nui-mainBtn-hasIcon")] )[1]/span[2]').click()
#driver.find_element_by_xpath("//*[@class='nui-toolbar-item']/div/span[2]").click()
# 退出登录
driver.find_element_by_id('_mail_icon_0_0').click()
driver.find_element_by_id('_mail_component_74_74').click()
########第二种###########
'''
1.如果元素定位不到,可能是由什么问题导致的?a.表达式写的有没有什么问题b.没有设置元素等待c.在不同的窗口中d.在不同的表单(frame)中'''
from seleniumimport webdriver
import time
#打开浏览器
driver = webdriver.Firefox()
#设置最大化
driver.maximize_window()
#设置隐式等待
driver.implicitly_wait(20)
#打开网页
driver.get("https://mail.126.com/")
#表单切换
#switch_to.frame默认可以写id或者name属性的值,进行切换,如果id和name不能直接使用,先使用xpath或者css定位到这个iframe标签,在切换
#方式一:
frame_element = driver.find_element_by_xpath('//iframe[@frameborder="0"]')
driver.switch_to.frame(frame_element)
#方式二:根据索引切换
# driver.switch_to.frame(0)
#定位邮箱输入框
driver.find_element_by_name('email').send_keys("xuechao961003")
#输入密码框
driver.find_element_by_name('password').send_keys("18827466q")
#点击 登录 按钮
driver.find_element_by_id('dologin').click()
#点击 写信
driver.find_element_by_id('_mail_component_134_134').click()
#收件人
driver.find_element_by_css_selector('.nui-editableAddr-ipt').send_keys("248149232@qq.com")
#邮件主题
driver.find_element_by_css_selector('div[aria-label="邮件主题输入框,请输入邮件主题"]>input').send_keys("测试邮件")
#切换到 邮箱正文的 富文本编辑器 表单中
content_email = driver.find_element_by_css_selector('.APP-editor-iframe')
driver.switch_to.frame(content_email)
#输入邮箱内容正文
driver.find_element_by_tag_name('body').send_keys("测试001")
#切换到最外层表单
driver.switch_to.default_content()
#点击 发送 按钮
driver.find_element_by_xpath('//footer[@class="jp0"]/div[1]').click()
#点击 邮箱
driver.find_element_by_id('_mail_component_5_5').click()
#退出 登录
driver.find_element_by_id('_mail_component_74_74').click()