- 博客(111)
- 收藏
- 关注
原创 selenium自学之路:多线程(二)
multiprocessing模块多进程multiprocessing模块的使用与多线程threading模块的方法类似。multiprocessing提供了本地和远程的并发性,有效地通过全局解释锁来使用进程(而不是线程)。由于GIL的存在,在CPU密集型程序中,使用多线程并不能有效地利用多核cpu的优势,因为一个解释器在同一时刻只会有一个线程在执行。所以multiprocessing模块可以充...
2019-04-23 11:36:50 2382
原创 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 443
原创 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 513
原创 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 202
原创 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 209
原创 selenium自学之路:xml获取任意标签名与属性名,标签之间数据
info.xml<?xml version="1.0" encoding="utf-8"?><info> <base> <platform>Windows</platform> <browser>Chrome</browser> <url>http://www.baidu.com<...
2019-04-15 19:54:14 929
原创 selenium自学之路:xml读取
info.xml<?xml version="1.0" encoding="utf-8"?><info> <base> <platform>Windows</platform> <browser>Chrome</browser> <url>http://www.baidu.com<...
2019-04-15 19:43:28 378
原创 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 1114
原创 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 334
原创 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 796
原创 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 432
原创 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 184
原创 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 157
原创 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 266
原创 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 328
原创 selenium自学之路:多窗口切换
在页面操作过程中有时点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('http://www.baidu.com')#获取百度搜索窗口句柄,句柄是一个系统内部数据结构的引用serach_windows = dri...
2019-04-12 18:03:39 225
原创 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 275
原创 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 301
原创 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 304
原创 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 495
原创 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 480
原创 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 660
原创 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 150
原创 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 390
原创 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 161
原创 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 181
原创 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 320
原创 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 571
原创 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 1121
原创 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 525
原创 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 299
原创 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 160
原创 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 154
原创 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>...
2019-04-08 19:21:57 163
原创 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 165
原创 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 117
原创 MongoDB:简介
简介MongoDB 是一个基于分布式 文件存储的NoSQL数据库由C++语言编写,运行稳定,性能高旨在为 WEB 应用提供可扩展的高性能数据存储解决方案查看官方网站MongoDB特点模式自由 :可以把不同结构的文档存储在同一个数据库里面向集合的存储:适合存储 JSON风格文件的形式完整的索引支持:对任何属性可索引复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间...
2019-04-08 19:21:03 137
原创 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 199
原创 MySQL数据库:事务
事务当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回使用事务可以完成退回的功能,保证业务逻辑的正确性事务四大特性(简称ACID)原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致隔离性(Isolation)...
2019-04-08 19:20:26 118
原创 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 178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人