Python+ Selenium自動化登錄騰訊QQ郵箱實例


       學習了Python語言一段時間后,在公司的項目里也使用到了python來寫測試腳本,一些重復的操作都使用腳本來處理了。大大的提高工作效率,減少了一些手工重復的操作。

 

       以下是使用unittest框架寫的簡單的郵箱自動登錄實例,分享給大家,有不足之處可留言交流。

  由於QQ郵箱登錄的頁面使用iFrame的設計,在開始寫的時候因為找不到切換的方法,導致代碼老是報錯。

driver.switch_to.frame("login_frame")

       在打開QQ郵箱首頁后,需要先切換到login_frame的框里才可以進入輸入帳號密碼登錄操作。

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 #Author:Vincent Lan
 4 import unittest,time
 5 from selenium import webdriver
 6 from selenium.webdriver.common.keys import Keys
 7 
 8 
 9 class QQ_mail(unittest.TestCase):
10     def setUp(self):
11         self.driver = webdriver.Firefox()
12         self.driver.implicitly_wait(30)
13         self.base_url = "https://mail.qq.com"
14         self.verificationErrors = []
15         self.accept_next_alert = True
16         print("正在訪問QQ郵箱")
17         
18 
19     def test_mail_login(self):
20         """QQ郵箱登錄"""
21         driver = self.driver
22         driver.maximize_window()
23         driver.get(self.base_url + "/")
24 
25         driver.switch_to.frame("login_frame")
26         driver.find_element_by_id("switcher_plogin").click()
27 
28 
29         driver.find_element_by_id("u").clear()
30         driver.find_element_by_id("u").send_keys("yourmailadd")
31 
32         driver.find_element_by_id("p").clear()
33         driver.find_element_by_id("p").send_keys("your password")
34 
35         driver.find_element_by_id("p").send_keys(Keys.ENTER)
36         #driver.find_element_by_id("login_button").click()
37         print("登錄QQ郵箱成功")
38 
39 """
40     def tearDown(self):
41         self.driver.quit()
42         self.assertEqual([], self.verificationErrors)
43 """
44 if __name__ == "__main__":
45     unittest.main()

  如果登錄后不需要自動關閉網頁就要把def tearDown(self)注釋掉。這樣就可以查看郵件或編寫郵件了。

1  """
2      def tearDown(self):
3          self.driver.quit()
4          self.assertEqual([], self.verificationErrors)
5  """

   針對初學者的建議:python注重語句的優美,對縮進和換行都很嚴格,稍有不對齊的縮進都會報錯。所以要注意了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM