python3+selenium实现126邮箱登陆并发送邮件功能
本文实例为大家分享了python3实现126邮箱登陆并发送邮件的具体代码,供大家参考,具体内容如下
基于selenium,使用chrome浏览器,完成126邮箱登陆并发送发邮件功能,暂时未封装。
fromseleniumimportwebdriver
#导入显示等待类
fromselenium.webdriver.support.uiimportWebDriverWait
#导入期望场景类
fromselenium.webdriver.supportimportexpected_conditionsasEC
#导入By类
fromselenium.webdriver.common.byimportBy
importtime
#浏览器驱动放在了c:\\Python36\\Scripts目录下,无需指定参数
driver=webdriver.Chrome()
driver.get("https://mail.126.com/")
time.sleep(3)
####登陆
driver.switch_to.frame("x-URS-iframe")
user_name=driver.find_element_by_xpath('//*[@name="email"]')
#将xxxxxxx替换为自己的用户名
user_name.send_keys('xxxxxxx')
pass_word=driver.find_element_by_xpath('//*[@name="password"]')
#将11111111111替换为自己的密码
pass_word.send_keys('11111111111')
button=driver.find_element_by_id("dologin")
button.click()
driver.switch_to.default_content()
time.sleep(3)
####写邮件
wait=WebDriverWait(driver,10,0.2)
##wait.until(EC.visibility_of_element_located((By.XPATH,"//span[text()='发送']")))
wait.until(EC.visibility_of_element_located((By.XPATH,"//a[contains(text(),'退出')]")))
driver.find_element_by_xpath('//span[text()="写信"]').click()
driver.find_element_by_xpath('//input[@tabindex="1"and@role="combobox"]').\
send_keys("1234h@qq.com")
driver.find_element_by_xpath('//input[@tabindex="1"and@class="nui-ipt-input"]').\
send_keys("测试邮件")
driver.find_element_by_xpath('//input[@type="file"]').send_keys("f:\\b.txt")
time.sleep(5)
wait.until(EC.visibility_of_element_located((By.XPATH,"//span[text()='上传完成']")))
driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@tabindex=1]'))
driver.execute_script("document.getElementsByTagName('body')[0].innerHTML='邮件的正文内容;'")
driver.switch_to.default_content()
##发送
driver.find_element_by_xpath('//span[text()="发送"]').click()
time.sleep(5)
assert'发送成功'indriver.page_source
logout_link=driver.find_element_by_xpath("//a[text()='退出']")
time.sleep(3)
assertu"登录"indriver.page_source
driver.quit()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。