自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 selenium自学之路:多线程(二)

multiprocessing模块多进程multiprocessing模块的使用与多线程threading模块的方法类似。multiprocessing提供了本地和远程的并发性,有效地通过全局解释锁来使用进程(而不是线程)。由于GIL的存在,在CPU密集型程序中,使用多线程并不能有效地利用多核cpu的优势,因为一个解释器在同一时刻只会有一个线程在执行。所以multiprocessing模块可以充...

2019-04-23 11:36:50 2291

原创 selenium自学之路:自动化测试高级应用之生成HTM测试报告

from selenium import webdriverimport unittestfrom HTMLTestRunner import HTMLTestRunnerclass Baidu(unittest.TestCase): def setUp(self): self.driver=webdriver.Chrome() self.drive...

2019-04-23 11:36:19 400

原创 selenium自学之路:自动化测试高级应用之HTMLTestRunner.py

需要下载HTMLTestRunner.py,此文件基于python2版本,放在安装目录lib文件夹下http://tungwaiyip.info/software/HTMLTestRunner.htmlHTMLTestRunner.py基于python3版本"""A TestRunner for use with the Python unit testing framework. It...

2019-04-23 11:36:01 463

原创 selenium自学之路:unittest单元测试框架

单元测试本身就是通过一段代码验证另一段代码,所以不用单元测试也可以写单元测试例如calculator.pyclass Count: def __init__(self,a,b): self.a=int(a) self.b=int(b) def __add__(self): return self.a+self.b写一段程序...

2019-04-23 11:35:27 183

原创 selenium自学之路:selenium IDE

selenium IDE的安装:请参考以下转载内容https://jingyan.baidu.com/article/fec4bce2b2bcd0f2618d8bbf.htmlselenium IDE命令:1.openopen(url)在浏览器中打开url,可以接受绝对和相对路径2.click单击链接,按钮,复选和单选框单击后需要等待响应,则用clickAndWait如果是经过...

2019-04-23 11:35:12 182

原创 selenium自学之路:xml获取任意标签名与属性名,标签之间数据

info.xml<?xml version="1.0" encoding="utf-8"?><info> <base> <platform>Windows</platform> <browser>Chrome</browser> <url>http://www.baidu.com&lt...

2019-04-15 19:54:14 880

原创 selenium自学之路:xml读取

info.xml<?xml version="1.0" encoding="utf-8"?><info> <base> <platform>Windows</platform> <browser>Chrome</browser> <url>http://www.baidu.com&lt...

2019-04-15 19:43:28 346

原创 selenium自学之路:csv文件读写操作

读取信息import csvwith open('test.csv')as f: f_csv = csv.reader(f) for row in f_csv: print(row)运行结果:['test1', '12345', 'sdasda']['test2', '44877', 'sdsa']['test3', '3243', 'fdsgfd']...

2019-04-15 19:25:28 1033

原创 selenium自学之路:logging

from selenium import webdriverimport logginglogging.basicConfig(level=logging.DEBUG)driver = webdriver.Chrome()driver.get('http://www.baidu.com')driver.find_element_by_id('kw').send_keys('seleni...

2019-04-15 19:25:11 281

原创 selenium自学之路:验证码的处理

方法一:去掉验证码这是最简单的方法,但是在正式环境会造成风险方法二:设置万能验证码from random import randintverify=randint(1000,9999)print(u"生成的随机数:%d"%verify)number=input('请输入随机数:')number=int(number)if number == verify: print('...

2019-04-15 19:24:49 672

原创 selenium自学之路:处理HTML5的视频播放,截图

from selenium import webdriverfrom time import sleepdriver=webdriver.Chrome()driver.get('http://videojs.com/')video=driver.find_element_by_xpath('//*[@id="preview-player_html5_api"]')url=driver....

2019-04-15 19:24:33 368

原创 selenium自学之路:调用JavaScript

from time import sleepfrom selenium import webdriverdriver=webdriver.Chrome()driver.get('http://www.baidu.com')driver.set_window_size(800,800)driver.find_element_by_id('kw').send_keys('selenium')...

2019-04-12 18:04:38 142

原创 selenium自学之路:操作Cookie

获取cookie信息'''get_cookies():获取所有cookie信息get_cookie(name):返回字典的key值为'name'的cookie信息add_cookie(cookie_dict)添加cookie,cookie_dict指字典对象,必须有name和valuedelete_cookie(name,optionsString):删除cookie信息,name是名称...

2019-04-12 18:04:25 114

原创 selenium自学之路:上传文件的两种方法

方法一:send_keys实现上传HTML文件<html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"/><title>upload_file</title><link href="http://cdn.bootcss.co...

2019-04-12 18:04:12 229

原创 seleniu自学之路:警告框处理

在webDriver中处理JavaScript所生成的alert,confirm以及prompt十分简单,具体做法是使用switch_to_alert()方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法进行操作text:返回alert/confirm/prompt中的文字信息accpet():接受现有警告框dismi...

2019-04-12 18:03:56 294

原创 selenium自学之路:多窗口切换

在页面操作过程中有时点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('http://www.baidu.com')#获取百度搜索窗口句柄,句柄是一个系统内部数据结构的引用serach_windows = dri...

2019-04-12 18:03:39 188

原创 selenium自学之路:表单切换

在web应用中经常会遇到frame/iframe表单嵌套,这时就需要switch_to.frame()跳转到表单的内嵌网页中定位元素frame.html<html><head><link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css"rel="stylesheet" /&...

2019-04-12 11:30:44 236

原创 selenium自学之路:显式等待,隐式等待

# '''# 显示等待:# 使webdriver等待某个条件成立时继续执行,否则在达到最大时长时抛弃超时异常# '''# from selenium import webdriver# from selenium.webdriver.common.by import By# from selenium.webdriver.support.ui import WebDriverWait...

2019-04-11 20:34:39 247

原创 selenium自学之路:获取页面验证信息

from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('https://mail.qq.com/')userName='xxxxxxxxx'passWord='xxxxxxxxx'driver.find_element_by_link_text('基本版').click()driver...

2019-04-11 19:48:23 265

原创 selenium自学之路:键盘操作

常用操作:# Keys.BACK_SPACE:回退键(BackSpace)# Keys.TAB:制表键(Tab)# Keys.ENTER:回车键(Enter)# Keys.SHIFT:大小写转换键(Shift)# Keys.CONTROL:Control键(Ctrl)# Keys.ALT:ALT键(Alt)# Keys.ESCAPE:返回键(Esc)# Keys.SPACE:空格键...

2019-04-11 19:12:52 374

原创 selenium自学之路:获取尺寸,信息,属性,可见性

from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('https://www.baidu.com')kw=driver.find_element_by_xpath('//*[@id="kw"]')#kw.send_keys('selenium')#kw.submit()#提交表单,类似...

2019-04-11 17:54:58 431

原创 selenium自学之路:qq邮箱登录

from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get('https://mail.qq.com/')driver.find_element_by_link_text('基本版').click()#找到相应元素后点击driver.find_element_by_xpath('//*[@i...

2019-04-11 17:54:41 608

原创 selenium自学之路:鼠标事件

from selenium.webdriver.common.action_chains import ActionChainsfrom selenium import webdriver'''perform():执行所有ActionChains中存储的行为context_click():右击double_click()双击drag_and_drop():拖动move_to_elem...

2019-04-11 17:54:15 123

原创 selenium自学之路:启动浏览器,调整窗口大小,前进,后退,刷新

import seleniumfrom selenium import webdriverdriver=webdriver.Chrome()#启动浏览器first_url='https://www.baidu.com'driver.get(first_url)#打开某个网页print('fist web baidu...')second_url='http://news.baidu.c...

2019-04-11 14:50:02 359

原创 MySQL数据库:与python交互

封装#coding=utf-8import MySQLdbclass MysqlHelper: def __init__(self,host='localhost',port=3306,db='python3',user='root',passwd='123456',charset='utf8'): self.conn=MySQLdb.connect(host=ho...

2019-04-08 19:24:40 124

原创 HTML基础四:表单

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>表单</title></head><body> <h3>用户注册</h3> <!-- ?username=tom&...

2019-04-08 19:24:20 148

原创 HTML基础三:表格

html表格table常用标签1、table标签:声明一个表格2、tr标签:定义表格中的一行3、td和th标签:定义一行中的一个单元格,td代表普通单元格,th表示表头单元格table常用属性:1、border 定义表格的边框2、cellpadding 定义单元格内内容与边框的距离3、cellspacing 定义单元格与单元格之间的距离4、align 设置单元格中内容的水平对齐方...

2019-04-08 19:24:03 277

原创 HTML基础二:图片路径,列表,链接

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>第一个网页</title></head><body><!--图片--><img src="./Koala.jpg" alt...

2019-04-08 19:23:48 505

原创 HTML基础一:标题,段落,换行,强调,符号等

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>第一个网页</title></head><body>Hello World!<h1>一级标题</h1><h2...

2019-04-08 19:23:32 1056

原创 Redis 数据操作:zset

zsetsorted set,有序集合元素为string类型元素具有唯一性,不重复每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序元素的score可以相同添加ZADD key score member [score member …]python3:0>zadd no4 0.2 abc 0.6 acd 0.2 ddd"3"返回指定范...

2019-04-08 19:23:08 495

原创 Redis 数据操作:set

set无序集合元素为string类型元素具有唯一性,不重复命令设置添加元素SADD key member [member …]python3:0>sadd no2 1 2 3 2 5 3"4"获取返回key集合所有的元素SMEMBERS keypython3:0>smembers no2 1) "1" 2) "2" 3) "3" 4) "5"...

2019-04-08 19:22:50 273

原创 Redis 数据操作:list

list列表的元素类型为string按照插入顺序排序在列表的头部或者尾部添加元素命令设置在头部插入数据LPUSH key value [value …]在尾部插入数据RPUSH key value [value …]在一个元素的前|后插入新元素LINSERT key BEFORE|AFTER pivot valuepython3:0>linsert no1 befor...

2019-04-08 19:22:33 136

原创 Redis 数据操作:hash

hashhash用于存储对象,对象的格式为键值对设置设置单个属性HSET key field valuepython3:0>HSET website google "www.g.cn""1"设置多个属性HMSET key field value [field value …]python3:0>hmset web baidu "www.baidu.com" sogo...

2019-04-08 19:22:15 123

原创 Redis 数据操作:键的命令

查找键,参数支持正则KEYS patternpython3:0>keys * 1) "testkey" 2) "morekey" 3) "morekey2" 4) "morekey1"python3:0>keys [^m]* 1) "testkey"判断键是否存在,如果存在返回1,不存在返回0EXISTS key [key …]python3:0&gt...

2019-04-08 19:21:57 129

原创 Redis 数据操作:string

stringstring是redis最基本的类型最大能存储512MB数据string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等设置键值set key value例如:set testkey abc设置键值及过期时间,以秒为单位SETEX key seconds value例如:setex mykey 60 redis如图25是剩余时间设置多个键...

2019-04-08 19:21:39 138

原创 MongoDB:安装

安装下载mongodb的版本,两点注意根据业界规则,偶数为稳定版,如1.6.X,奇数为开发版,如1.7.X32bit的mongodb最大只能存放2G的数据,64bit就没有限制到官网,选择合适的版本下载解压tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.4.0.tgz移动到/usr/local/目录下sudo mv -r mongodb-li...

2019-04-08 19:21:21 89

原创 MongoDB:简介

简介MongoDB 是一个基于分布式 文件存储的NoSQL数据库由C++语言编写,运行稳定,性能高旨在为 WEB 应用提供可扩展的高性能数据存储解决方案查看官方网站MongoDB特点模式自由 :可以把不同结构的文档存储在同一个数据库里面向集合的存储:适合存储 JSON风格文件的形式完整的索引支持:对任何属性可索引复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间...

2019-04-08 19:21:03 111

原创 MySQL数据库与python交互:增删改查

增加#encoding=utf-8import MySQLdbtry: conn=MySQLdb.connect(host='localhost',port=3306,db='python3',user='root',passwd='123456',charset='utf8') cs1=conn.cursor() count=cs1.execute("insert ...

2019-04-08 19:20:44 170

原创 MySQL数据库:事务

事务当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回使用事务可以完成退回的功能,保证业务逻辑的正确性事务四大特性(简称ACID)原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致隔离性(Isolation)...

2019-04-08 19:20:26 89

原创 MySQL数据库:视图

视图对于复杂的查询,在多次使用后,维护是一件非常麻烦的事情解决:定义视图视图本质就是对查询的一个封装定义视图create view stuscore asselect students.*,scores.score from scoresinner join students on scores.stuid=students.id;视图的用途就是查询select * from s...

2019-04-08 19:20:08 154

空空如也

空空如也

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

TA关注的人

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