最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python+selenium實(shí)現(xiàn)QQ郵箱自動(dòng)發(fā)送功能

 更新時(shí)間:2019年01月23日 10:09:19   作者:知否,知否  
這篇文章主要為大家詳細(xì)介紹了python+selenium實(shí)現(xiàn)QQ郵箱自動(dòng)發(fā)送功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

python實(shí)現(xiàn)從登錄到自動(dòng)發(fā)送qq郵件,供大家參考,具體內(nèi)容如下

qq郵箱登錄注意問(wèn)題

賬戶密碼登錄框是寫在一個(gè)iframe上的,所以我們要先進(jìn)入iframe中才能定位到下面的兩個(gè)輸入框和登錄按鈕。從下圖我們可以看到iframe=login_frame,我們可以是用driver.switch.to_frame(“l(fā)ogin_frame”)進(jìn)入iframe中。接下來(lái)的兩個(gè)輸入框和登錄按鈕都有id屬性,我們只需要用driver.find_element_by_id(“xxx”)就可以定位到元素。
記得退出iframe,不然定位后面的所有元素都會(huì)失?。ㄇ杏洠?,退出iframe的話我們可以寫driver.switch_to_default_content()來(lái)實(shí)現(xiàn)(個(gè)人發(fā)現(xiàn)to后面用“.”還是“_”符號(hào),都可以將后面顯示出來(lái))。大家可以嘗試下,把這句話省略,接著定位下面的元素。

主頁(yè)面注意事項(xiàng)

主頁(yè)面上左上角的“寫信”按鈕,你右擊是不會(huì)顯示查看元素的,第一種方法,我們首先在頁(yè)面其他地方右擊,接著選中查看元素,然后用查看器左邊的那個(gè)鼠標(biāo)按鈕去點(diǎn)擊“寫信”按鈕。就可以查看到。第二種方法,直接根據(jù)“寫信”兩個(gè)字去定位元素。我們可以這樣driver.find_element_by_link_text(“寫信”)

寫信頁(yè)面注意事項(xiàng)

寫信頁(yè)面都寫在iframe里面,所以要進(jìn)入iframe中,然后定位收件人的輸入框,我們可以從下面的頁(yè)面代碼中看到class的值有很多地方都用到(不是唯一),所有我們相對(duì)路徑的方法,driver.find_element_by_xpath("http://*[@id=“toAreaCtrl”]//div[2]/input")。這樣就可以解決了。

文下面的文本框注意四點(diǎn),第一點(diǎn),文本框在一個(gè)iframe中;第二點(diǎn),文本框沒有任何的屬性值,所以我們可以使用HTML標(biāo)簽名定位,driver.find_element_by_tag_name(“body”);第三點(diǎn)文本框需要先點(diǎn)擊(click),在編寫(send_keys),如果沒有先點(diǎn)擊在編寫,那么你send_keys(“xxxx”)內(nèi)容會(huì)放在主題后面的文本框中。第四點(diǎn),退出iframe,然后再進(jìn)入iframe=“mainFrame”,因?yàn)橥顺龅脑捑褪撬械膇frame都退出。

完整腳本

from selenium import webdriver
import unittest,time,traceback
from selenium.common.exceptions import TimeoutException,NoSuchElementException


class TestDemo(unittest.TestCase):
 def setUp(self):
 self.driver=webdriver.Firefox(executable_path='f:\\geckodriver')


 def test_sendqqemail(self):
 try:
  url = 'https://mail.qq.com/'
  self.driver.get(url)
  self.driver.maximize_window()
  self.driver.switch_to_frame("login_frame")
  self.driver.find_element_by_id("u").send_keys("用戶名")
  self.driver.find_element_by_id("p").send_keys("密碼")
  self.driver.find_element_by_id("login_button").click()
  time.sleep(5)
  self.driver.switch_to.default_content() #退出iframe,如果沒這句話后面的元素定位都會(huì)出錯(cuò)
  self.driver.find_element_by_id('composebtn').click()
  #寫信模塊都在iframe=mainFrame頁(yè)面上
  self.driver.switch_to_frame("mainFrame")
  time.sleep(3)
  self.driver.find_element_by_xpath("http://*[@id='toAreaCtrl']/div[2]/input").send_keys("收件人")
  #定位主題
  self.driver.find_element_by_xpath('//input[@id="subject"]').send_keys("主題")
  #正文編寫iframe中
  self.driver.switch_to_frame(self.driver.find_element_by_class_name("qmEditorIfrmEditArea"))
  #self.driver.find_element_by_xpath("/html/body").send_keys('你好,再見')
  #定位正文
  content=self.driver.find_element_by_tag_name("body")
  #必須click(),不然會(huì)寫到主題里面
  content.click()
  content.send_keys("正文內(nèi)容")
  time.sleep(3)
  self.driver.switch_to.default_content()
  self.driver.switch_to_frame("mainFrame")
  #定位發(fā)送按鈕
  self.driver.find_element_by_xpath('//a[.="發(fā)送"]').click()
 except TimeoutException:
  print("顯示等待頁(yè)面元素超時(shí)")
 except NoSuchElementException:
  print("尋找頁(yè)面元素不存在",traceback.print_exc())
 except Exception:
  print(traceback.print_exc())

 def tearDown(self):
 self.driver.quit()


 if __name__=="__main__":
 unittest.main()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 圖像的離散傅立葉變換實(shí)例

    python 圖像的離散傅立葉變換實(shí)例

    今天小編就為大家分享一篇python 圖像的離散傅立葉變換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • python Celery定時(shí)任務(wù)的示例

    python Celery定時(shí)任務(wù)的示例

    這篇文章主要介紹了python Celery定時(shí)任務(wù)的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 詳解Python常用標(biāo)準(zhǔn)庫(kù)之時(shí)間模塊time和datetime

    詳解Python常用標(biāo)準(zhǔn)庫(kù)之時(shí)間模塊time和datetime

    time和datetime是Python中常用的兩個(gè)時(shí)間模塊,本文將通過(guò)示例詳細(xì)為大家講講二者的使用方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)
    2022-05-05
  • Python+Pygame實(shí)現(xiàn)神廟逃亡游戲

    Python+Pygame實(shí)現(xiàn)神廟逃亡游戲

    這篇文章主要為大家介紹了如何利用Python和Pygame動(dòng)畫制作一個(gè)神廟逃亡類似的小游戲。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下
    2022-05-05
  • python繪圖時(shí),坐標(biāo)軸負(fù)號(hào)顯示不出來(lái)的解決

    python繪圖時(shí),坐標(biāo)軸負(fù)號(hào)顯示不出來(lái)的解決

    這篇文章主要介紹了python繪圖時(shí),坐標(biāo)軸負(fù)號(hào)顯示不出來(lái)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python不要再使用while死循環(huán),定時(shí)器代替效果更佳

    Python不要再使用while死循環(huán),定時(shí)器代替效果更佳

    在python開發(fā)的過(guò)程中,經(jīng)常見到小伙伴直接使用while True的死循環(huán)+sleep的方式來(lái)保存程序的一直運(yùn)行。這種方式雖然能達(dá)到效果,但是說(shuō)不定什么時(shí)候就直接崩潰了,其實(shí)使用定時(shí)器效果也不錯(cuò)哦
    2023-03-03
  • 淺談Python3中strip()、lstrip()、rstrip()用法詳解

    淺談Python3中strip()、lstrip()、rstrip()用法詳解

    這篇文章主要介紹了淺談Python3中strip()、lstrip()、rstrip()用法詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • 通過(guò)LyScript實(shí)現(xiàn)從文本中讀寫ShellCode

    通過(guò)LyScript實(shí)現(xiàn)從文本中讀寫ShellCode

    LyScript 插件通過(guò)配合內(nèi)存讀寫,可實(shí)現(xiàn)對(duì)特定位置的ShellCode代碼的導(dǎo)出。本文將利用這一特性實(shí)現(xiàn)從文本中讀寫ShellCode,感興趣的可以了解一下
    2022-08-08
  • python自動(dòng)生成證件號(hào)的方法示例

    python自動(dòng)生成證件號(hào)的方法示例

    這篇文章主要給大家介紹了關(guān)于python自動(dòng)生成證件號(hào)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 利用Python+OpenCV三步去除水印

    利用Python+OpenCV三步去除水印

    去水印需要用到的庫(kù):cv2、numpy,cv2是基于OpenCV的圖像處理庫(kù),可以對(duì)圖像進(jìn)行腐蝕,膨脹等操作.numpy這是一個(gè)強(qiáng)大的處理矩陣和維度運(yùn)算的庫(kù),,需要的朋友可以參考下
    2021-05-05

最新評(píng)論

五莲县| 兴和县| 芦溪县| SHOW| 江西省| 黄骅市| 东乡族自治县| 安远县| 都江堰市| 衡阳县| 潍坊市| 嘉黎县| 眉山市| 缙云县| 保康县| 广元市| 富锦市| 灵山县| 顺昌县| 鄂托克前旗| 荆门市| 巴楚县| 来凤县| 泽库县| 武邑县| 静宁县| 黄石市| 婺源县| 册亨县| 哈尔滨市| 宁南县| 富顺县| 黑山县| 庄河市| 新巴尔虎右旗| 新巴尔虎左旗| 永济市| 政和县| 福清市| 长泰县| 万荣县|