自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

honeyJ

Talk is cheap,Show me the code.

原创 python-操作windows窗口

在自动化测试时,遇到一种情况,校验是否打开了某程序,但不涉及UI自动化,所以就想到了利用windows窗口去校验。 关闭窗口句柄 比如,关闭资源管理器的窗口 import win32gui,win32con def close_windows_handle(title): #"C...

2020-03-23 19:46:03 136 0

原创 python-获取、查询、关闭进程

""" 获取所有进程 """ def get_process(): #获取当前所有的进程 pids = psutil.pids() for pid in pids: p = psutil.Proce...

2020-03-23 19:33:07 70 0

原创 python-读取、修改注册表信息

查询遍历注册表 注册表分两部分:键和值 键是一个树结构,一个键下面可以有很多子键 一个注册表有5个根键。 官网:链接 方法 解释 RegOpenKey 打开注册表项 RegQueryInfoKey 检索有关指定注册表项的信息 RegQueryValue 检索有关指定注册表项...

2020-03-23 19:23:58 228 0

原创 python-获取本地磁盘信息

Win32_LogicalDisk类 官网地址: Win32_LogicalDisk 查看本地磁盘信息 import wmi def get_disk_info(): info_ = [] myWmi = wmi.WMI() for disk in myWmi....

2020-03-23 19:10:03 88 0

原创 selenium-元素定位表达式正确,但却定位不到元素?

在定位元素时,有时候会出现定位表达式正确,却找不到元素的情况,分析一下我遇到的几种原因。 1.定位表达式不唯一 定位元素时,我们会采取某种定位方式,有时会出现定位失败的情况,这是因为可能定位表达式不唯一 解决方法:如上图所示, (1)打开开发者工具,按Ctrl+F,复制定位表达式, (2)按右边...

2020-03-04 19:02:44 161 0

原创 selenium测试video&audio&table

在操作视频或者音频的时候,获取属性可能会遇到很多问题,可以使用js的方法辅助我们进行校验。 视频 校验视频时长如果视频/音频在html页面可以找到相应的标签,可以通过dom对于这些标签的操作api来获取相应信息。 获取播放总时长: document.querySelector(‘video’).d...

2020-02-29 13:17:22 57 0

原创 seleniun校验canvas画笔操作

问题描述: 浏览器有一个画板的功能,需要去校验画笔,如何在画板上进行操作,并做校验呢? 解决:鼠标移动操作利用selenium的ActionChains类,模拟鼠标移动。 click_and_hold:鼠标点击某元素,不释放move_by_offset:鼠标移动相对于之前位置的(x,y)relea...

2020-02-28 17:34:19 60 0

原创 selenium拖拽元素失败

总结一种情况 有时候模拟拖拽元素时,失败的原因不一定是我们的操作有问题,有可能和web页面的实现有关系。比如:我们一般实现拖拽的时候会使用: ActionChains(webdriver).drag_and_drop_by_offset(button, x_location, y_location...

2020-02-28 17:10:54 157 0

原创 js字符串截取

之前在获取元素属性时,踩了个坑,记录一下。 用selenium做web自动化时,获取元素属性时,有时候会有单位,比如元素的宽高,得到的属性会是XXpx这样,但我只想要数字。就用了这样的函数将数字取了出来。 def get_num(original_data): num = re.sub(&...

2019-09-30 11:08:57 731 0

原创 HTTP协议总结

1、简介 HTTP也叫超文本传输协议,是应用层协议,支持C/S模式,浏览器作为HTTP的客户端通过url向HTTP服务端,也就是WEB服务器发送请求。 http协议是无连接,无状态的。无连接指的是当服务器处理完客户端的请求,并收到客户的应答后,断开链接;无状态指的是对于事务处理没有记忆能力。 ...

2019-07-22 22:36:33 267 1

原创 python-练习

Python 实现秒表功能 import time print('按下回车开始计时,按下 Ctrl + C 停止计时') while True: try: input() starttime = time.time() ...

2019-04-09 20:40:40 143 0

原创 按相反的顺序输出列表的值

按相反的顺序输出列表的值 法一: a = ['one', 'two', 'three'] for i in a[::-1]: print(i) 法二: a = ['one', 't...

2019-04-08 21:37:21 737 0

原创 pyhton-练习

题一: 有如下值集合 [11,22,33,44,55,66,77,88,99,90] 将所有大于 66 的值保存至字典的第一个 key 中 将小于 66 的值保存至第二个 key 的值中。 即: {‘k1’: 大于 66 的所有值,‘k2’: 小于 66 的所有值} 代码如下: ...

2019-04-03 21:16:18 178 0

原创 python-二次方程

导入 cmath模块,计算复杂数学运算 eg: 我们计算二次方程式 ax**2 + bx + c = 0 代码如下: import cmath a = float(input('输入 a: ')) b = float(input('输入 b: �...

2019-04-02 21:23:51 1027 1

原创 Random-获取随机数

之前也用过Random的函数,今天了解一些python中random的函数。 import random print(random.random) print(random.random()) 这用于生成一个0到1的随机符点数: 0 <= n < 1.0 看结果: random.u...

2019-04-01 21:38:35 244 0

原创 python-hashlib加密

之前遇到过MD5加密的问题,今天整理一下hashlib模块,了解常见的加密方式。 import hashlib string = "123456" md5加密 md5 = hashlib.md5() md5.update(string.encode('utf-8...

2019-03-29 21:57:25 69 0

原创 selenium-模拟鼠标拖拽

1、从一个元素拖拽到另一个元素: from selenium import webdriver from selenium.webdriver import ActionChains import time browser = webdriver.Chrome() try: browse...

2019-03-27 20:18:11 2154 1

原创 python-itertools

昨天见到了一个python的内建模块-itertools。今天总结一下: itertools提供了非常有用的用于操作迭代对象的函数,整理如下 首先,我们看看itertools提供的几个“无限”迭代器 count() eg: import itertools arr = iter...

2019-03-26 21:18:07 68 0

原创 python-计算笛卡尔积

计算多个集合的笛卡尔积,很多语言都没有提供直接计算笛卡尔积的方法,需要自己写很长的代码计算笛卡尔积 今天用python 实现,如下: Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数 代码: import itertools class cartesian(obje...

2019-03-25 20:34:11 409 1

原创 Python-SMTP发送邮件

之前学习过SMTP(Simple Mail Transfer Protocol,知道是简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。 学习一下pytho...

2019-03-22 21:21:03 97 0

原创 selenium-处理弹窗

将以下代码copy至txt文本里,后缀改成html,然后用浏览器打开 <html> <head> <title>Alert</title> </head> <body> ...

2019-03-21 21:48:56 835 1

原创 python之sys模块

python之sys模块详解 之前用过sys模块的一种用法,今天总结一下。 sys.argv 功能:在外部向程序内部传递参数 eg: #!/usr/bin/env python import sys print(sys.argv[0]) print(sys.argv[1]) 运行:python...

2019-03-18 19:53:56 129 0

原创 Python yield 使用浅析

之前了解了生成器的概念,带有 yield 的函数在 Python 中被称之为 generator(生成器),那么应该什么时候使用呢? 举个例子: 简单输出斐波那契數列前 N 个数 def fab(max): n, a, b = 0, 0, 1 while n &lt; max:...

2019-03-15 23:01:26 55 0

原创 python-当字符串为空则抛出异常

今天有一个需求,判断字符串是否为空,为空则抛出异常 代码如下: class FError(Exception): pass def ss(str): if str == &quot;&quot;: return else: ...

2019-03-14 19:46:43 1489 0

原创 python-迭代器与生成器

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next()。 字符串,列表或元组对象都可用于创建迭代器 eg: list = [1,2,3,4] it = iter(lis...

2019-03-12 19:27:25 79 0

原创 python-求三角形的面积

计算三角形的面积 法一: #计算三角形的面积 a = float(input('输入三角形第一边长:')) b = float(input('输入三角形第二边长: ')) c = float(input('输入三角形第三边长:')) ...

2019-03-11 19:41:40 3041 1

原创 python-requests的简单用法

做一个总结~以便以后参考 本文参考:添加链接描述 import requests GET请求 eg: r = requests.get('http://httpbin.org/get') print(r.url) 传参 eg: load = {...

2019-03-06 20:29:18 103 0

原创 python-将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

分析: 对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n!=k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用...

2019-03-05 19:28:57 2156 2

原创 pyhtoin-selenium控制浏览器前进(forward)、后退(back)、刷新(refresh)

控制浏览器前进(forward)、后退(back)、刷新(refresh) 今天遇到一个需求,当我想从一个父页面跳转到子页面进行操作,操作完之后没有“返回”之类的按钮或链接,重新进入父页面又很麻烦。 所以整理这篇文章作为总结。 我们能看到的浏览器导航栏的三个按钮 —— 后退、前进、刷新,所对应的如...

2019-03-01 19:42:11 615 0

原创 python-列表排序

输入三个整数x, y, z,形成一个列表,请把这n个数由小到大输出 这就是要求升序排列,用之前写过几种方法 法一 #数组 li=[1,3,5,7,2,0] # 用sort()排序 li_sort = sorted(li, reverse = False) print('...

2019-02-27 20:52:50 2758 0

原创 Selenium给元素的属性赋值

我们在做UI自动化测试的过程中,某些情况会遇到,需要操作WebElement属性的情况。 假设现在我们需要获取一个元素的title属性,我们可以先找到这个元素,然后利用get_attribute方法获取属性的值。 eg: from selenium import webdriver dri...

2019-02-26 20:16:55 7939 0

原创 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母

分析: 用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。 法一: letter = input("请输入:") if letter == 'S': print('请输入第二个字符:') l...

2019-02-25 22:40:57 276 0

原创 关于list

使用列表作为堆栈 #使用列表作为堆栈 stack = [1,2,3] stack.append(4) stack.append(5) print(stack) print(stack.pop()) print(stack.pop()) print(stack) 使用列表作为队列 也可以使用列...

2019-02-22 20:28:54 50 0

原创 python简单的练习实例

练习几个简单的python程序 1、输出1到100之间所有的偶数 法一: num = 1 while True: if num==51: break print(num*2) num+=1 法二: num = 2 while num&lt;=100...

2019-02-21 19:48:24 1007 0

原创 字符串操作,简单计算器的实现

str = "hello,world" print(str.upper()) print(str.lower()) print(str.capitalize()) print(str.title()) print(str.isalnum()) # 判断所有字符都是数...

2019-02-20 19:40:14 360 0

原创 python-time

1、获取当前时间和时区 import time #获取当前时间和时区 now = time.time() print(now) print(time.strftime("%Y-%m-%d %H:%M:%S")) print(time.ctime()) print(time.lo...

2019-02-19 19:31:22 63 0

原创 python-datetime

获取昨天日期 import datetime def getYesterday(): today = datetime.date.today() oneday = datetime.timedelta(days=1) yesterday = today - o...

2019-02-18 19:45:48 72 0

原创 list操作

#1、list定义 list=[1,2,3,4,5] print(list[1]) #2、list负数索引 print(list[-1]) print(list[-3]) print(list[1:3]) print(list[1:-1]) list.append(6) print(lis...

2019-02-15 19:55:30 72 0

原创 python判断闰年,判断质数

判断用户输入的年份是否为闰年 year = int(input(&quot;输入年份: &quot;)) if (year % 4) == 0: if (year % 100) == 0: if (year % 400) == 0: ...

2019-02-14 20:24:03 249 0

原创 Python文件操作

一个进程可操作的文件描述符的数目是有上限的。 因此对于用完了的文件描述符要及时关闭 f = open('test.txt','r') f.close() 读文件 方式 作用 read 读指定长度字节数的数据, 返回一个字符串 readl...

2019-02-13 19:37:05 66 0

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