python3+selenium實(shí)現(xiàn)qq郵箱登陸并發(fā)送郵件功能
本文實(shí)例為大家分享了python3實(shí)現(xiàn)qq郵箱登陸并發(fā)送郵件功能的具體代碼,供大家參考,具體內(nèi)容如下
基于selenium,使用chrome瀏覽器,完成qq郵箱登陸并發(fā)送發(fā)郵件功能,暫時(shí)未封裝。qq郵箱和126郵箱登陸還是有一些區(qū)別的。
#encoding=utf-8
from selenium import webdriver
import time
#啟動(dòng)chrome瀏覽器
driver = webdriver.Chrome()
#進(jìn)入qq郵箱登陸首頁
driver.get("https://mail.qq.com/")
time.sleep(1)
#窗口最大化
driver.maximize_window()
#切換到登陸frame(!!!!!!!!必須先切換!!!!!!!!)
driver.switch_to.frame('login_frame')
driver.find_element_by_xpath("http://*[@id='switcher_plogin']").click()
time.sleep(3)
#########登陸
#輸入用戶名
username = driver.find_element_by_xpath("http://*[@id='u']")
username.clear()
#將xxxxxxxxxx換成qq郵箱賬戶
username.send_keys('xxxxxxxxxx')
#輸入密碼:將1111111111替換為自己的郵箱密碼
driver.find_element_by_id('p').send_keys('1111111111')
#點(diǎn)擊登陸
driver.find_element_by_id('login_button').click()
time.sleep(10)
#斷言登陸成功
assert '退出' in driver.page_source
#########寫信
#單擊寫信按鈕
driver.find_element_by_link_text("寫信").click()
time.sleep(2)
#切換到mainFrame
driver.switch_to.frame('mainFrame')
time.sleep(2)
#輸入收件人
driver.find_element_by_xpath("http://*[@id='toAreaCtrl']/div[2]/input").send_keys('123456789@qq.com')
#輸入主題
driver.find_element_by_id('subject').send_keys('test')
#輸入正文
o=driver.find_elements_by_class_name("qmEditorIfrmEditArea")
o[0].click() #!!!!!!!must click!!!!!!!
o[0].send_keys("abc")
#點(diǎn)擊發(fā)送按鈕
driver.find_element_by_xpath("http://*[@id='toolbar']/div/a[1]").click()
time.sleep(3)
##driver.find_element_by_xpath('//a[@name="sendbtn" and @tabindex="9"]').click()
time.sleep(3)
#斷言發(fā)送成功
assert u"再寫一封" in driver.page_source
#關(guān)閉瀏覽器
driver.quit()
小編再為大家分享一段代碼:python+selenium自動(dòng)登錄QQ郵箱發(fā)送郵件
#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
url =("https://mail.qq.com/")
name=("874**5483")
key = ("Zly1****612X")
out_name=("65750**8@qq.com")
#
#打開瀏覽器
driver.get(url)
driver.implicitly_wait(10)
#最大化窗口
driver.maximize_window()
#切換iframe
driver.switch_to.frame("login_frame")
# #定位至賬號(hào)密碼登錄
# driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
# #賬號(hào),密碼輸入
# driver.find_element_by_xpath('//*[@id="u"]').send_keys(name)
# driver.find_element_by_xpath('//*[@id="p"]').send_keys(key)
# #點(diǎn)擊登錄
# driver.find_element_by_xpath('//*[@id="login_button"]').click()
#點(diǎn)擊頭像登錄
driver.find_element_by_xpath('//*[@id="img_out_874335483"]').click()
time.sleep(5)
#點(diǎn)擊寫信
driver.find_element_by_xpath('//*[@id="composebtn"]').click()
time.sleep(3)
#切換iframe至寫信
driver.switch_to.frame("mainFrame")
#driver.switch_to.frame(driver.find_element_by_id('mainFrame'))
time.sleep(3)
#添加收件人
driver.find_element_by_xpath('//*[@id="toAreaCtrl"]/div[2]/input').send_keys(out_name)
#添加主題
driver.find_element_by_xpath('//*[@id="subject"]').send_keys("TestCase1")
#退出當(dāng)前編輯Iframe
driver.switch_to.default_content()
#切換Iframe至編輯正文
driver.switch_to.frame("mainFrame")
#Body_frame=driver.find_element_by_xpath('//iframe[@scrolling="auto"]')
Body_frame=driver.find_element_by_class_name("qmEditorIfrmEditArea")
driver.switch_to.frame(Body_frame)
#添加正文
driver.find_element_by_xpath('/html/body').send_keys("I LOVE Python")
time.sleep(3)
#退回大Frame再點(diǎn)擊發(fā)送
driver.switch_to.parent_frame()
driver.find_element_by_xpath('//*[@id="toolbar"]/div/a[1]').click()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)給qq郵箱發(fā)送郵件的方法
- Python使用QQ郵箱發(fā)送Email的方法實(shí)例
- python利用smtplib實(shí)現(xiàn)QQ郵箱發(fā)送郵件
- python3實(shí)現(xiàn)163郵箱SMTP發(fā)送郵件
- python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例
- 淺談Python用QQ郵箱發(fā)送郵件時(shí)授權(quán)碼的問題
- python實(shí)現(xiàn)QQ郵箱/163郵箱的郵件發(fā)送
- python使用QQ郵箱實(shí)現(xiàn)自動(dòng)發(fā)送郵件
- python實(shí)現(xiàn)自動(dòng)獲取IP并發(fā)送到郵箱
- python實(shí)現(xiàn)郵箱發(fā)送信息
相關(guān)文章
python?解決?pip?時(shí)報(bào)錯(cuò)?no?suchoption:?--bulid-dir?的解決辦法(最新
在使用PyCharm虛擬環(huán)境pip時(shí),有時(shí)會(huì)遇到錯(cuò)誤提示“no?such?option:?--build-dir”,這可能是由于pip版本不兼容或其他原因?qū)е碌?,本文將詳?xì)講解如何解決這個(gè)問題,感興趣的朋友跟隨小編一起看看吧2023-05-05
如何將PySpark導(dǎo)入Python的放實(shí)現(xiàn)(2種)
這篇文章主要介紹了如何將PySpark導(dǎo)入Python的放實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Tensorflow 定義變量,函數(shù),數(shù)值計(jì)算等名字的更新方式
今天小編就為大家分享一篇Tensorflow 定義變量,函數(shù),數(shù)值計(jì)算等名字的更新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python中使用pprint函數(shù)進(jìn)行格式化輸出的教程
這篇文章主要介紹了Python中使用pprint函數(shù)進(jìn)行格式化輸出的教程,包括能夠控制輸出寬度等非常有用的特性,需要的朋友可以參考下2015-04-04
如何利用Boost.Python實(shí)現(xiàn)Python C/C++混合編程詳解
這篇文章主要給大家介紹了關(guān)于如何利用Boost.Python實(shí)現(xiàn)Python C/C++混合編程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起看看吧2018-11-11
Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的示例代碼
學(xué)生管理系統(tǒng)是一個(gè)常見的應(yīng)用程序,它可以幫助學(xué)校、教育機(jī)構(gòu)或教師管理學(xué)生的信息,本文將介紹如何利用Python開發(fā)一個(gè)學(xué)生管理系統(tǒng),需要的可以參考一下2023-07-07
python 使用Yolact訓(xùn)練自己的數(shù)據(jù)集
這篇文章主要介紹了python 使用Yolact訓(xùn)練自己的數(shù)據(jù)集,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04

