1. 程式人生 > >python3+selenium實現126郵箱登陸併發送郵件

python3+selenium實現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()