1. 程式人生 > >【2018.05.07】python3.6+selenium 實現自動登入126/163郵箱,然後傳送郵件

【2018.05.07】python3.6+selenium 實現自動登入126/163郵箱,然後傳送郵件

 

# coding:utf-8
'''
說明:
這個自動化指令碼要實現的是:
自動登入126/163郵箱,
傳送郵件遇到的問題:什麼時候切控制代碼,
有些總是定位不到的屬性如何定位(css)值得擁有
'''
from selenium import webdriver
import timedriver = webdriver.Chrome()
# 開啟登陸163郵箱的網頁
driver.get('http://mail.126.com/')
#在這兒選擇126/163,這倆一樣
# 將瀏覽器視窗最大化
driver.maximize_window()
# 休息五分鐘等待網頁載入完畢
time.sleep(5)
# 找到郵箱賬號登入框對應的iframe
driver.switch_to.frame('x-URS-iframe')
# 登陸郵箱
driver.find_element_by_name("email").send_keys("xxxxxxx")#輸入你的郵箱賬號@前的部分driver.find_element_by_name("password").send_keys("******")#輸入你的賬號密碼
time.sleep(3)
driver.find_element_by_id("dologin").click()time.sleep(6)print("login in")#點選寫信driver.find_element_by_xpath(".//*[@id='_mail_component_68_68']").click()
print('click ok')time.sleep(4)
#寫入傳送人和郵件主題
driver.find_element_by_class_name('nui-editableAddr-ipt').send_keys('
[email protected]
') #輸入你要傳送的郵箱地址 time.sleep(3) zt = driver.find_element_by_css_selector("div[id^='_mail_input_2']>input.nui-ipt-input") zt.send_keys(u"selenium自動化測試")#郵箱主題 time.sleep(3)#編寫郵件內容,首先切換frame frame = driver.find_element_by_class_name('APP-editor-iframe') driver.switch_to_frame(frame) emailtxt = driver.find_element_by_class_name('nui-scroll') emailtxt.send_keys("天若有情天亦老\n人間正道是滄桑\n這是一個用自動化指令碼發的郵件") time.sleep(5) print("content ok")#傳送,首先返回上一層frame driver.switch_to_default_content() time.sleep(6) driver.find_element_by_css_selector("div[id^='_mail_button_2']>span.nui-btn_text").click() print("send over")

 

 
'''
Frame與Iframe兩者可以實現的功能基本相同,
不過Iframe比Frame具有更多的靈活性。
frame是整個頁面的框架,
iframe是內嵌的網頁元素,
也可以說是內嵌的框架

'''
#switch_to_frame() 切換到frame
#switch_to_default_content() 返回主頁面上操作元素,釋放ifram

 

<span style="color:#000000">以上...歡迎交流,一起學習,麻花藤群728109091</span>