Python+ Selenium自动化登录腾讯QQ邮箱实例

发表于:2018-3-21 08:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:OshynSong    来源:CSDN博客

  学习了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注重语句的优美,对缩进和换行都很严格,稍有不对齐的缩进都会报错。所以要注意了。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号