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

       學習了Python語言一段時間後,在公司的項目裏也使用到了python來寫測試腳本,一些重複的操做都使用腳原本處理了。大大的提升工做效率,減小了一些手工重複的操做。python

 

       如下是使用unittest框架寫的簡單的郵箱自動登陸實例,分享給你們,有不足之處可留言交流。web

  因爲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注重語句的優美,對縮進和換行都很嚴格,稍有不對齊的縮進都會報錯。因此要注意了。ui

相關文章
相關標籤/搜索