参数化登录QQ空间实例
通过参数化的方式,登录QQ空间
实例源码:
# coding:utf-8
from selenium import webdriver
import unittest
import time
class QZone(unittest.TestCase):
"""登录QQ空间"""
def setUp(self):
self.driver = webdriver.Firefox()
base_url = "https://i.qq.com"
self.driver.get(base_url)
self.driver.implicitly_wait(30) def login_qzone(self,user,password):
"""登录方法,账号密码参数化"""
# self.driver.get(self.url + "/".format(self))
self.driver.switch_to_frame('login_frame')
self.driver.find_element_by_id('switcher_plogin').click()
self.driver.find_element_by_id('u').clear()
self.driver.find_element_by_id('u').send_keys(user)
self.driver.find_element_by_id('p').clear()
self.driver.find_element_by_id("p").send_keys(password)
self.driver.find_element_by_id("login_button").click()
time.sleep(3) def is_login_sucess(self):
"""判断是否登录成功"""
try:
result_text = self.driver.find_element_by_xpath(".//*[@id='headContainer']/div[2]/div[1]/span[1]").text
print result_text
return True
except:
return False def test_01(self):
"""登录case01"""
self.login_qzone("1222222", "*********") #运行时输入对应的账号
result = self.is_login_sucess()
self.assertTrue(result) def test_02(self):
"""登录case02"""
self.login_qzone("00000000", "*********") # 运行时输入对应的账号
result = self.is_login_sucess()
self.assertTrue(result) def tearDown(self):
self.driver.quit() if __name__ == "__main__":
unittest.main()
源码分析:
1、采用单元测试框架unittest
2、setup()、steardown()函数是unittest框架中的起始和结束函数
3、login_qzone()函数是登录函数,用于登录QQ空间,登录时,账号密码采用了参数化的方式
4、is_login_success()函数是用于判断用户是否登录成功,若登录成功,返回登录的QQ空间的用户名,并打印出来
5、test01()、test02(),是测试用例,在测试用例中,调用登录函数进行登录操作,用登录验证函数来判断登录是否成功
遇到的坑:
报错截图

开始一直报这个错,不晓得什么原因,研究了很久;最后发现,是test01()、test02()函数下面注释的原因,去掉注释前面的u就可以正常运行了
虽然问题解决了,但是不晓得什么原因,请知道原因的大神,帮忙解释一下哦
参数化登录QQ空间实例的更多相关文章
- 使用Python+Selenium模拟登录QQ空间
使用Python+Selenium模拟登录QQ空间爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密,这绝对能掉好几斤头发.而现在有了seleniu ...
- ClientKey实现登录QQ空间,并设置背景音乐
ClientKey大家都知道的,通过webbrowser登录后取得Cookie并计算出GTK,即可操作空间的POST. 源代码中引用了苏飞的Http类库,自己修改添加了一些拓展方法. 下载地址:htt ...
- C# 13行代码带你模拟登录QQ空间
最近想做一个QQ空间点赞的小工具,于是晚上下班回来就开始分析PC版的QQ空间,打开Chrome,切换到Network,然后输入账号密码,然后点击登录... 然后,我曹....一堆请求就开始了....搞 ...
- C#使用Selenium实现QQ空间数据抓取 登录QQ空间
经@吃西瓜的星星提醒 首先我们介绍下Selenium Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mo ...
- QQ空间动态爬虫
作者:虚静 链接:https://zhuanlan.zhihu.com/p/24656161 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 先说明几件事: 题目的意 ...
- Python爬虫实战:使用Selenium抓取QQ空间好友说说
前面我们接触到的,都是使用requests+BeautifulSoup组合对静态网页进行请求和数据解析,若是JS生成的内容,也介绍了通过寻找API借口来获取数据. 但是有的时候,网页数据由JS生成,A ...
- curl之采集QQ空间留言
目录 主要流程解析 注意事项 扩展 完整代码示例 采集效果一览 主要流程解析 首先,打开浏览器登录QQ空间并访问留言列表 由于QQ空间的链接是https,curl方式请求https链接需要突破http ...
- QQ空间说说爬虫
QQ空间说说爬虫 闲来无事,写了一个QQ空间的爬虫,主要是爬取以前的说说,然后生成词云. 这次采用的主要模块是selenium,这是一个模拟浏览器的模块,一开始我不想用这个模块写的,但是后面分析的时候 ...
- selenium firefox 提取qq空间相册链接
环境: selenium-java 3.9.1 firefox 57.0 geckodriver 0.19.1 1.大概的思路就是模拟用户点击行为,关于滚动条的问题,我是模拟下拉箭头,否则只能每个相册 ...
随机推荐
- Javascirpt 常见的误区
var foo = new Object(); var bar = new Object(); var map = new Object(); map[foo] = "foo"; ...
- kafka学习默认端口号9092
一 Kafka 概述1.1 Kafka 是什么在流式计算中,Kafka 一般用来缓存数据,Storm 通过消费 Kafka 的数据进行计算.1)Apache Kafka 是一个开源消息系统(微信公众号 ...
- LRU缓存介绍与实现 (Java)
引子: 我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系 了,要再次联系那位朋友的时候,我们又不得不求助电话本 ...
- Servlet 学习总结-1
JavaWeb应用程序中所有的请求-响应都是由Servlet来完成的.Servlet是Java Web的核心程序,所有的网址(请求-响应)都交给Servlet来处理. Servlet在Web应用中被映 ...
- [LeetCode 题解]: Maximum Depth of Binary Tree
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- IntelliJ OpenCV 开发环境搭建
Windows下的IntelliJ + OpenCV开发环境搭建 基于IntelliJ IDEA 15 和 OpenCV 3.1.0 1. 在OpenCV官网下载OpenCV安装程序,双击解压到目标目 ...
- Transaction And Lock--死锁错误号1205
在TSQL中,如果需要判断当前错误是否是因为死锁引起,可以使用ERROR_NUMBER()=1205来判断在C#中,使用SQLException来捕获 SQLException.Number=1205 ...
- Windows store app[Part 3]:认识WinRT的异步机制
WinRT异步机制的诞生背景 当编写一个触控应用程序时,执行一个耗时函数,并通知UI更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...
- C#和JAVA 访问修饰符
JAVA ----------------------------------------------- 访问修饰符 描述 ------------------------------- ...
- 如何快速解决myeclipse中导入jquery文件的报错。
如何快速解决myeclipse中导入jquery文件的报错. 解决: 选中错误的文件, 点击右键, 选中myeclipse,点击Exclude From Validation.