python3+selenium實現126郵箱登陸併發送郵件
阿新 • • 發佈:2018-12-20
基於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()