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

学习了Python语言一段时间后,在公司的项目里也使用到了python来写测试脚本,一些重复的操作都使用脚本来处理了。大大的提高工作效率,减少了一些手工重复的操作。

以下是使用unittest框架写的简单的邮箱自动登录实例,分享给大家,有不足之处可留言交流。

  由于QQ邮箱登录的页面使用iFrame的设计,在开始写的时候因为找不到切换的方法,导致代码老是报错。

driver.switch_to.frame("login_frame")

在打开QQ邮箱首页后,需要先切换到login_frame的框里才可以进入输入帐号密码登录操作。

 #!/usr/bin/env python
#_*_coding:utf-8_*_
#Author:Vincent Lan
import unittest,time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys class QQ_mail(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "https://mail.qq.com"
self.verificationErrors = []
self.accept_next_alert = True
print("正在访问QQ邮箱") def test_mail_login(self):
"""QQ邮箱登录"""
driver = self.driver
driver.maximize_window()
driver.get(self.base_url + "/") driver.switch_to.frame("login_frame")
driver.find_element_by_id("switcher_plogin").click() driver.find_element_by_id("u").clear()
driver.find_element_by_id("u").send_keys("yourmailadd") driver.find_element_by_id("p").clear()
driver.find_element_by_id("p").send_keys("your password") driver.find_element_by_id("p").send_keys(Keys.ENTER)
#driver.find_element_by_id("login_button").click()
print("登录QQ邮箱成功") """
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
"""
if __name__ == "__main__":
unittest.main()

  如果登录后不需要自动关闭网页就要把def tearDown(self)注释掉。这样就可以查看邮件或编写邮件了。

  """
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
"""

  针对初学者的建议:python注重语句的优美,对缩进和换行都很严格,稍有不对齐的缩进都会报错。所以要注意了。

上一篇:基于sentinel 的redis集群环境搭建


下一篇:docker默认配置文件不存在问题解决