自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

原创 switch_to_frame() 画横线原因是

switch_to_frame() 和switch_to.frame()switch_to_frame(),很多人在这样写的时候会发现,这句话被划上了删除线,原因是这个方法已经out了,之后很有可能会不支持,建议的写法是switch_to.frame()

2021-03-05 15:31:59 1132

原创 selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executable needs to be in P

selenium在liunx下配置报错解决方式1、首先 打开浏览器 输入 chrome://version/可以看到版本号2,打开这个链接http://chromedriver.storage.googleapis.com/index.html找到和自己浏览器相似的 下载对应的文件3、 下载之后放在哪里呢我放在桌面上4、其次解压文件使用命令将解压后的文件复制到 /usr/local/bin/chromedriversudo mv chromedriver /

2021-03-05 12:53:47 185

原创 Python3+unitest自动化测试

1、概念介绍unit test:单元测试,可以简单粗暴地理解成用一段代码去测试另外一段代码。unittest作为Python单元测试框架之一,除了用来做单元测试之外,还可以用来完成接口自动化,UI自动化(配合Selenium使用),自动化框架开发等。test fixture:测试用例执行前的准备工作以及测试用例执行完成后的清理工作。比如数据库测试前要建立连接,测试后要关闭连接。test case:单元测试中最小的单元。test suite:测试套件是测试用例,测试套件或者两者的

2020-12-29 22:20:30 485

转载 登陆接口

暴力破解!只要网站是暴露在公网的,那么很大概率上会被人盯上,尝试爆破这种简单且有效的方式:通过各种方式获得了网站的用户名之后,通过编写程序来遍历所有可能的密码,直至找到正确的密码为止伪代码如下:#密码字典password_dict=[]#登录接口login_url=''defattack(username):forpasswordinpassword_dict:data={'username':username,'password':pas...

2020-12-29 22:05:21 799

原创 Python标准库汇总介绍

本文将按以下顺序列举各分类下的标准库:

2020-12-29 21:58:52 151

原创 有 Bug 不会调试 ? 这篇文章很详细

Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码,历史发布的IDEA调试文章还有:Intellij IDEA调试功能使用总结在Intellij IDEA中使用好Debug,主要包括如下内容: Debug开篇 基本用法&...

2020-12-29 21:44:49 110

转载 绝无仅有,史上最全的python爬虫教程!

import urllibimport urllib.requesturllib.request.urlopen("http://www.baidu.com")2.re3.requests4.selenimu这个库是配合一些驱动去爬取动态渲染网页的库(1)chromedriver我们使用的时候需要先下载一个chromedriver.exe,下载好了以后放在 chr...

2019-05-16 16:10:44 2332

转载 MySQL、SqlServer、Oracle三种数据库的特点和区别

一、MySQL优点:1、体积小、速度快、总体拥有成本低,开源;2、支持多种操作系统;3、是开源数据库,提供的接口支持多种语言连接操作;4、MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的mysql能很容易充分利用CPU;5、MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql...

2019-05-15 17:04:59 4421

转载 教你如何将自己的脚本代码放到服务器上运行

1. 购买服务器如果你是学生的话,想折腾的可以去阿里云那里购买,因为有学生机优惠,只需要9.9一个月,但是只能购买一次,在下一次购买需要做任务才可以继续享用学生机优惠。如果你是土豪的话,可以直接忽略这个。因为这次我只需要把机器人脚本运行就可以了,所以直接选择学生机的配置就够用了。阿里云的学生机购买链接:https://promotion.aliyun.com/ntms/act/c...

2019-04-10 19:43:06 22721 5

转载 1000 行 MySQL 学习笔记

Windows服务-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)连接与断开服务器mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VAR...

2019-04-10 19:00:46 317

转载 项目爬虫架构

1、基础爬虫的架构以及运行流程首先,给大家来讲讲基础爬虫的架构到底是啥样子的?从图上可以看到,整个基础爬虫架构分为5大类:爬虫调度器、URL管理器、HTML下载器、HTML解析器、数据存储器。下面给大家依次来介绍一下这5个大类的功能: 爬虫调度器,主要是配合调用其他四个模块,所谓调度就是取调用其他的模板 URL管理器,就是负责管理URL链接的,URL链接分为已经爬...

2019-04-10 18:55:52 796 1

转载 分布式爬虫

分布式进程就是将进程分布到多台机器上去,充分利用每一台机器来完成我们的爬虫任务。分布式进程需要用到multiprocessing模板,multiprocessing模板不但支持多进程,它的managers子模块还支持把多进程分布到多台机器上。 我们可以写一个服务进程作为调度者,然后将我们的爬虫任务分布给其他的多个进程当中去,我们依靠网络通信来管理这些进程。2.模拟一个分布...

2019-04-10 18:41:42 95

转载 进程和线程的主要区别(总结)

根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过...

2019-03-21 14:45:57 127

原创 TCP与UDP区别小结

TCP(TransmissionControlProtocol):传输控制协议 UDP(UserDatagramProtocol):用户数据报协议 主要从连接性(Connectivity)、可靠性(Reliability)、有序性(Ordering)、有界性(Boundary)、拥塞控制(Congestion or Flow control)、传输速度(Speed)、量级(Hea...

2019-03-21 14:43:24 187

原创 三种scrapy模拟登陆方式

注意:模拟登陆时,必须保证settings.py里的 COOKIES_ENABLED (Cookies中间件) 处于开启状态COOKIES_ENABLED = True 或 # COOKIES_ENABLED = False策略一:直接POST数据(比如需要登陆的账户信息)只要是需要提供post数据的,就可以用这种方法。下面示例里post的数据是账户密码: # -*...

2019-03-18 18:43:39 277

原创 爬虫教程

1.新建项目:scrapy startproject xxx项目名,例如:scrapy startproject new_project2、 创建爬虫文件name:为文件的名字,在spiders文件下运行 :scrapy genspider -t crawl name'xxxx.com' 3、运行爬虫文件scrapy crawl name ...

2019-03-16 12:46:05 295

原创 Windows下创建python虚拟环境

一 windows下如何构建虚拟环境1. 使用命令:virtualenv 虚拟环境名 来创建一个虚拟环境,创建成功后如下图:2、cd 进入虚拟环境下的Scripts文件夹3、activate 激活虚拟环境当命令行前面有(env1)时,就表示现在处于虚拟环境里了,在这里使用pip安装自己要使用的模块即可4、想要退出虚拟环境时 使用deactivate...

2019-03-14 21:53:43 280

原创 ubuntu16.04中如何将python3设置为默认

ubuntu16.04自带python,但是既有python2,又有python3。但是默认的python命令是python2,我要想执行python3就必须输入python3。为解决如何将python3设为默认的问题,可以采用以下方式:直接执行这两个命令即可:sudo update-alternatives --install /usr/bin/python python ...

2019-03-13 23:14:42 199

原创 打开命令行界面总会提示:

ubuntu16安装python3后,打开命令行界面总会提示:/usr/bin/python: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')virtualenvwrapp...

2019-03-13 23:12:06 126

原创 查看虚拟环境

1、查看系统是否安装了virtualenvvirtualenv --version安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。sudo pip install virtualenv #安装虚拟环境sudo pip install virtualenvwrapper #安装虚拟环境扩展包2 、配置L...

2019-03-12 22:43:43 4657

原创 字典去除前后空字符

dic = {'k1': "aaaa", 'k2': ' bbbb ic', "k3": " ccc ", "k4": "dddd "}print(dic)for k,v in dic.items(): dic[k] = dic[k].replace(' ','')print(dic)

2019-03-12 21:04:31 264

原创 元组去除前后空格

tup_1 = ("qwqqw", " wewwew", " yrtee", " fgfgs ", " ssfdfd")print(tup_1)tu = list(tup_1)for t in range(len(tup_1)): tu[t] = tu[t].replace(' ','')tu = tuple(tu)print(tu)结果:...

2019-03-12 21:00:07 460

原创 列表去除前后空格

list_1 = [' qqqq ', ' fffff ', ' vvvvv ']print(li)for i in range(len(list_1)): li[i] = li[i].replace(' ','')print(li)结果:replace()方法返回当前old换成new,可选择的替代限制到最大数量的字符串的副本...

2019-03-12 20:47:30 823

原创 xapth

打开和关闭xpathhelper的快捷键都是:ctrl +shift +x

2019-03-11 19:44:13 244

转载 Jmeter参数化的4种方法

用Jmeter测试时包含两种情况的参数,一种是在url中,一种是请求中需要发送的参数。URL中的参数,如:http://blog.da-fang.com/index.php/2010/06/01/jmeter参数/,其中“2010/06/01/jmeter参数”为url参数。请求中的参数,此处只能举例get请求,如:http://blog.da-fang.com/?category=Web,...

2019-02-28 19:37:42 113

原创 python--threading多线程总结

threading用于提供线程相关的操作,线程是应用程序中工作的最小单元。python当前版本的多线程库没有实现优先级、线程组,线程也不能被停止、暂停、恢复、中断。threading模块提供的类:Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, Timer, local。threading 模块提供的常用方法:1、t...

2019-02-28 18:19:19 204

原创 navicat for MySQL连接本地数据库时报1045错误的解决方法

navicat for MySQL 连接本地数据库出现1045错误 如下图:说明连接mysql时数据库密码错误,需要修改密码后才可解决问题;解决步骤如下:1、首先打开命令行:开始->运行->cmd;2、先进入电脑安装的mysql的bin目录下(你自己软件的安装路径),如果是C盘,就可以直接执行命令:mysql -u root mysql;3、进入mysql后执...

2019-02-17 20:52:51 4347

原创 HTMLTestRunner文件

 HTMLTestRunner文件,copy直接使用#-*- coding: utf-8 -*-"""A TestRunner for use with the Python unit testing framework. Itgenerates a HTML report to show the result at a glance.The simplest way to use...

2019-02-15 21:27:51 11392

原创 一张图看懂 SQL 的各种 join 用法

 1、INNER JOIN(内连接)SELECT <select_list> FROM Table_A AINNER JOIN Table_B BON A.Key = B.Key 2.LEFT JOIN(左连接) SELECT <select_list>FROM Table_A ALEFT JOIN Table_B BON...

2019-02-15 12:10:06 121

原创 Fiddler抓包App

抓包工具Fidder详解(主要来抓取Android中app的请求)第一步:下载神器Fiddler,下载链接:http://fiddler2.com/get-fiddler下载完成之后,傻瓜式的安装一下了!第二步:设置Fiddler打开Fiddler,     Tools-> Fiddler Options (配置完后记得要重启Fiddler)选中"Decrpt HTTPS tra...

2019-01-29 22:51:07 515 1

原创 Monkey环境搭建

安卓APP想要测试稳定性,monkey是最佳选则。首先搭建monkey的运行环境在Windows下基于SDK1.下载SDK for Windows  解压:android-sdk-windows 到D:盘根目录2. 设置sdk下面tools的环境变量     右击“计算机”-》属性-》高级系统设置-》环境变量-》     点击Path,将“D:\android-sdk-wi...

2019-01-29 22:47:29 80

原创 iframe的定位————未完

 iframe的定位# 定位ID或namedriver.switch_to.frame('x-URS-iframe')# 如果没有ID和name,把iframe当成一个元素对象定位frame = driver.find_element_by_tag_name('iframe')driver.switch_to.frame(frame)# 如果有两层driver.switch...

2019-01-28 22:41:38 1232

转载 Redis的n种妙用,不仅仅是缓存

一、介绍redis是键值对的数据库,常用的五种数据类型为字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)Redis用作缓存,主要两个用途:高性能,高并发,因为内存天然支持高并发二、应用场景分布式锁(string)setnx key value,当key不存在时,将 key 的值设为 value ,返回1。若给定...

2019-01-28 19:05:59 96

转载 值得收藏:一份非常完整的MySQL规范

一、数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 所有存储相同数据的列名和...

2019-01-28 18:56:47 131

原创 mock的使用

1、使用mock模拟接口返回数据2、对mock进行简单的封装mock_method 调用的方法名 request_data 请求值 url请求url method post/get response_data 返回值from mock import mock# 模拟mock封装def mock_test(mock_menthod,request_data,url,metho...

2019-01-19 13:09:10 558

原创 生成 HTMLTestRunner 测试报告失败的总结

# coding=utf-8from selenium import webdriverimport unittest, timeimport HTMLTestRunner # 引入 HTMLTestRunner 包class Baidu(unittest.TestCase): def setUp(self): self.driver = webdriver...

2019-01-18 23:37:01 1243

转载 HTMLTestRunner修改成Python3版本

"""A TestRunner for use with the Python unit testing framework. Itgenerates a HTML report to show the result at a glance.The simplest way to use this is to invoke its main method. E.g. impor...

2019-01-18 22:28:50 236

原创 定义一个类,对post请求和get请求进行封装

import requestsimport jsonclass RunMan: # __init__ 构造函数 def __init__(self, url, method, data): self.res = self.run_main(url, method, data) def send_get(self, url, data): ...

2019-01-18 21:14:41 520

原创 Linux命令显示文件行数

cat命令显示文件指定行cat filename | tail -n 10 显示文件最后10行cat filename | head -n 10 显示文件前面10行cat filename | tail -n +10 从10行开始显示,显示100行以后的所有行显示100行到500行cat filename | head -n 50 | tail -n +10 ...

2019-01-15 20:05:07 3619 1

原创 selenium常用的模块

from selenium import webdriver#select模块处理下拉框from selenium.webdriver.support.ui import Select# Keys模拟键盘操作from selenium.webdriver.common.keys import Keys# ActionChains模块模拟鼠标操作from selenium.w...

2019-01-14 21:45:48 581

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除