【2018.05.07】python3.6+selenium 實現自動登入126/163郵箱,然後傳送郵件
阿新 • • 發佈:2018-12-24
# 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>