python3+selenium实现126邮箱登陆并发送邮件功能
本文实例为大家分享了python3实现126邮箱登陆并发送邮件的具体代码,供大家参考,具体内容如下
基于selenium,使用chrome浏览器,完成126邮箱登陆并发送发邮件功能,暂时未封装。
from selenium import webdriver # 导入显示等待类 from selenium.webdriver.support.ui import WebDriverWait # 导入期望场景类 from selenium.webdriver.support import expected_conditions as EC # 导入By类 from selenium.webdriver.common.by import By import time #浏览器驱动放在了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("[email protected]") 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='<b>邮件的正文内容<b>;'") driver.switch_to.default_content() ##发送 driver.find_element_by_xpath('//span[text()="发送"]').click() time.sleep(5) assert '发送成功' in driver.page_source logout_link=driver.find_element_by_xpath("//a[text()='退出']") time.sleep(3) assert u"登录" in driver.page_source driver.quit()