# 126邮箱,给自己发送已个邮件,包含附件、正文、标题的邮件 from selenium import webdriver import time driver = webdriver.Chrome(executable_path="e:\\chromedriver") # driver=webdriver.Ie(executable_path = "e:\\IEDriverServer") driver.get("https://mail.126.com") driver.maximize_window() driver.find_element_by_xpath("//a[text()='密码登录']").click() time.sleep(1) #切换用户名、密码登录很重要 iframe = driver.find_element_by_xpath("//iframe[contains(@id,'x-URS-iframe')]") driver.switch_to_frame(iframe) username= driver.find_element_by_xpath("//input[@name='email']") username.clear() username.send_keys("zihailyun") passwd = driver.find_element_by_xpath("//input[@name='password']").send_keys("zsq5487000!") driver.find_element_by_xpath("//a[@id='dologin']").click() time.sleep(3) time.sleep(2) #切换到首页 first_page = driver.find_element_by_xpath("//div[.='首页']") first_page.click() time.sleep(1) #开始写邮件 driver.switch_to.default_content() time.sleep(1) writeEmail=driver.find_element_by_xpath("//span[text()='写 信']") writeEmail.click() time.sleep(2) #填写收件人 driver.switch_to.default_content() driver.find_element_by_class_name("nui-editableAddr-ipt").send_keys("zihailyun@163.com;") driver.find_element_by_class_name("nui-editableAddr-ipt").send_keys("xinxiangyul@163.com;") receive_people = driver.find_element_by_xpath("//*[@title='发给多人时地址请以分号隔开']") receive_people.click() time.sleep(2) #填写主题 # main_content=driver.find_element_by_xpath("//*[@aria-label='邮件主题输入框,请输入邮件主题']") #未起作用 main_content=driver.find_element_by_xpath("//input[@class='nui-ipt-input' and @type='text' and @maxlength='256']").send_keys(u'给大佬发个邮件')# 主题 time.sleep(2) #填写正文 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@class="APP-editor-iframe"]')) driver.find_element_by_xpath('//body[@class="nui-scroll"]').send_keys("测试邮件内容,请查收") driver.switch_to.default_content() time.sleep(2) #点击发送 # driver.find_element_by_xpath("//*[text()='发送']").click() driver.find_element_by_xpath("//span[.='发送']").click() driver.find_elements_by_class_name("nui-btn-text") time.sleep(5) # driver.switch_to.default_content() #设置了一个断言,看到发送成功这个字段表示发送成功。但好像没设置好,print不出来。 success = driver.find_element_by_xpath("//*[text()='发送成功']").text if (success == '发送成功'): print('ok') #退出 time.sleep(5) logout_button = driver.find_element_by_xpath("//a[.='退出']") logout_button.click() assert '您已成功退出网易邮箱' in driver.page_source driver.quit()
"""
Xpath元素定位:
1)当前节点下属性值://
2)若直接只有text ,则用//*[text()=""] //span[.='']
3)定位主题 :<input id="1586878621580_subjectInput" class="nui-ipt-input" type="text" x-webkit-speech="" tabindex="1" maxlength="256">
4)正文的定位://body[@class='nui-scroll' and @contenteditable='true']
"""
# ---------------------