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

相关文章
相关标签/搜索