Python
作者:如玉少年
如玉少年-_-
刍狗戏天地,布衣也封神
展开
-
Python 对日期时间datetime的加减操作( 加一天,减一天,加减一小时一分钟,加减一年一月)
整理了一些 常见的对时间的操作,加减天数,加减年数,没有什么太多复杂的东西,就直接上代码了import datetimefrom dateutil.relativedelta import relativedelta'''年份:%y(小写) 18%Y(大写) 2018月份:%m(小写) 08%M(大写) 47 会返回现在是本世纪第多少个月天数:%d(小写) 07%D(大写) 08/07/18 会返回斜杠划开的年月日%H:表示小时%M:表示分钟%S原创 2021-02-04 10:40:53 · 8318 阅读 · 2 评论 -
python set()集合快速比较两个列表内的元素是否一致
python set()集合会自动排序a=['v','a']b=['a','v']same_values = set(a) & set(b)print(same_values)结果:输出的是两个列表相同的元素如果你想比较两个列表内的元素是否完全相同:a=['v','a']b=['a','v']same_values = set(a) & set(b)c=len(same_values)if c==len(a)==len(b): print(1)else: p原创 2021-01-11 17:00:53 · 6269 阅读 · 0 评论 -
python运行appium脚本:Error: A JNI error has occurred, please check your installation and try again
主要错误信息:selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\原创 2020-12-15 10:38:39 · 1948 阅读 · 6 评论 -
XPath 轴
原创 2020-10-29 11:12:00 · 302 阅读 · 0 评论 -
Python 中字符串拼接的 N 种方法
python拼接字符串一般有以下几种方法:1、直接通过(+)操作符拼接s = 'Hello'+' '+'World'+'!'print(s)输出结果:Hello World!使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。2、通过str.join()方法拼接strlist=['Hello',' ','World','!']print(''.join(strlis转载 2020-10-21 09:25:36 · 3445 阅读 · 1 评论 -
python+selenium 定位到页面元素,无法点击
问题在使用selenium模拟操作时经常遇到一些使用原始方法解决不了的问题。click失效问题,能定位到但是无法点击,网上针对这种的有很多例子,不同的环境 不同的分析1.在执行click之前多休眠几秒2.用Enter键代替clickdriver.find_element_by_id("su").send_keys(Keys.ENTER)3.就祭出我们的execute_script 执行js, 简单粗暴js='document.getElementById("su").click();'dr原创 2020-10-16 14:43:16 · 2725 阅读 · 1 评论 -
Python 读取excel文件中的数据并转换为字典
在做自动化测试的时候,采用了将测试数据用例保存在excel表格中,然后从excel表格中读取数据。所以就有必要将excel数据转换为dict例如:需要将下图excel中数据转换为:就是前面的索引固定为表里面黄色部分,然后每一行为一个dict,这样只需要设计测试用例就行了,不管测试用例是增加还是减少,只需要在表格里面按照这个格式填写,不需要修改代码就能做到做到测试用例的增删改查,及其方便。实现代码:# coding=utf-8import xlrddef get_data(dir_c..原创 2020-10-12 15:05:05 · 13830 阅读 · 3 评论 -
selenium之 功能键 Keys模块
用selenium做自动化时,有时会需要使用发送键盘按键的方法来进行一些操作。一些可见的正常的文本可以直接send_keys()发送,但是有一些功能键就需要其他的方法。selenium中的Keys类,就提供了很多常用的不可见的特殊按键。常用方法:BACKSPACE(或者BACK_SPACE) ——退格、删除键TAB ——有时可用来切换input框的焦点ENTER ——回车键,有时可用来代替点击提交按钮SHIFT(或LEFT_SHIFT) ——和其他按键同时发送,可发送大写字母或特殊符号原创 2020-09-17 15:20:39 · 1160 阅读 · 0 评论 -
Selenium+Python之元素定位方法
一、id定位id 可以看做是一个人的身份号,当然这个 id 并不像我们现实中的身份证号有那么强的唯一性,如果在一个页面上发现有两个元素的 id="kw"也是不足为奇的,这个取决前端代码的规范程度。'''driver.find_element_by_id() 方法用于元素中 id 属性的定位。'''#例:driver.find_element_by_id("kw")driver.find_element_by_id("su")二、name定位name 的定位与 id 类似,每一个人都会有名原创 2020-09-04 15:05:20 · 1034 阅读 · 0 评论 -
90 条写 Python 程序的建议
本文于网络整理,版权归原作者所有如果你也在学pythpn,准备要学习python,希望这篇文章对你有用。1. 首先建议1、理解Pythonic概念—-详见Python中的《Python之禅》建议2、编写Pythonic代码(1)避免不规范代码,比如只用大小写区分变量、使用容易混淆的变量名、害怕过长变量名等。有时候长的变量名会使代码更加具有可读性。(2)深入学习Python相关知识,比如语言特性、库特性等,比如Python演变过程等。深入学习一两个业内公认的Pythonic的代码库,比如Flask原创 2020-08-28 16:19:32 · 322 阅读 · 0 评论 -
pycharm —关于python的包导入问题from . import失败,或者import找不到文件
刚开始使用pycharm导入项目时,可能会出现python的包导入问题from . import失败,或者import找不到文件,这其实是因为pycharm没有把这个项目当作一个代码包来解析,如果出现类似的问题,不是代码原因,仅仅需要在pycharm上修改一下设置让IDE识别项目包就好,步骤如下:1,鼠标邮件点击你的项目文件,然后一次点击选择:Mark Directory as>>Sources Root。2.然后你会发现你的文件夹变了颜色,如图3.现在就可以成功找到自己的文件,并且使原创 2020-08-11 11:10:41 · 7620 阅读 · 1 评论 -
Python操作Mysql数据库
环境Python2.7+MySQL+eclipse用Python操作数据库首先要引入MySQLdb模块什么是MySQLdb?MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。如何安装MySQLdb?安装MySQLdb,请访问 添加链接描述,(Linux平台可以访问:添加链接描述)从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。数据库连接示例:连接数据库前,请先原创 2020-08-04 13:50:59 · 353 阅读 · 0 评论 -
MySQL-python-1.2.4b4.win32-py2.7提示报错,无法安装的解决方案
什么是MySQLdb?MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。安装MySQLdb,请访问 http://sourceforge.net/projects/mysql-python ,(Linux平台可以访问:https://pypi.python.org/pypi/MySQL-python)从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。安装时报错安装时提示原创 2020-08-04 10:26:05 · 418 阅读 · 0 评论 -
Python 字符串前面加u,r,b的含义
Python 字符串前面加u,r,b的含义1、字符串前加 u例:u’中文字符串’作用:解决中文乱码问题后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面2、字符串前加 rs=r'\tt'print(s)\tts='\tt'print(s) t在字符串赋值的时候 前面加’r’可以防止字符串在时候的时候不被转义原理是在转义字符前加’\’字母前加r表示raw string,也叫原始字符串常量。一般用在一下两个方面:1、正则表达式用于处理正则表达式时,规避原创 2020-08-03 15:47:36 · 6087 阅读 · 2 评论 -
python+selenium之浏览器滚动条操作
一、控制滚动条高度(针对网页最右侧的滚动条,控制整个页面的高度)1.滚动条回到顶部:js=“var q=document.documentElement.scrollTop=0”driver.execute_script(js)2.滚动条拉到底部js=“var q=document.documentElement.scrollTop=10000”driver.execute_script(js)3.这里可以修改scrollTop 的值,来定位右侧滚动条的位置,0是最上面,10000是最底部。原创 2020-07-30 10:53:22 · 2018 阅读 · 0 评论 -
jenkins部署Python项目,解决“ImportError: No module named xxxx”问题
jenkins部署Python项目时,控制台报错“ImportError: No module named xxx”,提示自建包导入错误*错误如图:解决如下1、直接在脚本最上方添加两行代码:import sysprint sys.path2、执行后,会打印出很多路径,如下:[‘D:\Git\xb2\xd6\xbf\xe2\CXCBAuto_NEW\src\testcase’,‘D:\Git\xb2\xd6\xbf\xe2\CXCBAuto_NEW\src’,‘D:\...原创 2020-07-21 13:41:09 · 1835 阅读 · 0 评论 -
迭代、可迭代对象、迭代器、生成器、for循环、iter()函数与next()函数的概念及关系
1.可迭代对象,迭代器,生成器的关系2.迭代使用for循环遍历取值的过程叫做迭代,比如:使用for循环遍历列表取值的过程。3.可迭代对象使用for循环遍历取值的对象叫做可迭代对象元组,列表,字典,字符串,集合,range都是可迭代对象4.迭代器迭代器可以通过next()方法不断重复获取下一个值,直到所有元素全部输出完之后,返回StopIteration才停止。在python3中同时实现在__iter__()和__next__()两个魔法函数的对象,就是迭代器。其中__iter__()方法需要原创 2020-09-22 15:38:02 · 902 阅读 · 1 评论 -
python测试:关于面试的测试理论和数据库基础
一、前言 测试的面试相对于开发的面试来说,对于技术的询问其实相对来说较少的,主要针对以下几个方面。测试理论,接口,数据库,linux,自动化,性能、个人情况这几大块。二、常见问题1、软件测试理论基础 **①、什么是软件测试?** 在规定条件下对程序进行操作,发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 **②、软件测试主要测试用例设计方法是什么?** 白盒测试:逻辑覆盖、循环覆盖、基本原创 2020-09-21 10:31:05 · 453 阅读 · 0 评论 -
Python创建文件+复制移动文件路径+更改文件名
#coding=utf-8import osimport shutilimport time#复制文件 +重新命名文件+移动到指定目录def copy_xlsx(): #复制文件 src='D:\\a\\Data.xlsx' #源文件 目录 dst_dir='D:\\b' #指定 目录 ''' 判断指定目录是否存在,不存在就创建 ''' folder = os.path.exists(dst_dir)原创 2020-09-18 15:36:14 · 1167 阅读 · 0 评论 -
Python实现屏幕截图,(创建文件夹+错误截图)
1.PIL(Python Image Library)是Python的一个图形库,需要自己下载安装,2.im = ImageGrab.grab()这行代码实现截图功能,可以带参数,指定要截取图片的坐标位置,不带参数默认全屏截图,3.im.save(path,‘jpg’)是保存截取的图片,第一个参数是保存路径,第二个参数是图片格式#coding=utf-8import osfrom PIL import ImageGrab'''截图'''def jt(): #截图存放路径原创 2020-09-18 15:12:46 · 854 阅读 · 0 评论 -
Python实现随机生成车牌号
注意:这里的代码只是简单模拟一下生成车牌号,实际应用的车牌号应该还会有很多约束的#随机生成一个车牌号码def car_num(): char0=["京","津","沪","渝","冀","豫","云","辽","黑","湘","皖","鲁","新","苏","浙","赣","鄂","桂","甘","晋","蒙","陕","吉","闽","赣","粤","青","藏","川","宁","琼"] #省份简称 char1='ABCDEFGHJKLMNPQRSTUVWXYZ'#车牌号中没有原创 2020-09-18 13:44:09 · 7656 阅读 · 1 评论 -
pymysql.connect() 参数含义
password='', # 密码database=None, # 要连接的数据库port=0, # 端口,一般为 3306unix_socket=None, # 选择是否要用unix_socket而不是TCP/IPcharset='', # 字符编码sql_mode=None, # Default SQL_MODE to use.read_default_file=None, # 从默认配置文件(my.ini或my.原创 2020-08-31 11:11:45 · 6566 阅读 · 0 评论 -
python+selenium生成测试报告的方法(汉化+错误截图+饼图)
在原有HTMLTestRunner.py的基础上优化,添加汉化,截图,饼图,用例失败重试等功能直接上下载链接:将下载的HTMLTestRunner放到入…\python\Lib目录下,就可以引用报告汉化,错误日志selenium/appium 截图截图功能根据测试结果,当结果为fail或error时自动截图因为要提取用例中的driver变量获取webdriver对象,所以要实现截图功能必须定义在用例中定义webdriver 为driver@classmethod def setUpC原创 2020-08-20 13:42:27 · 1577 阅读 · 1 评论 -
python打包成.exe可执行文件
一 环境准备1.win7,win10也可以2.python2.7版本3.pyinstaller(打包python的程序)说明:第3需要额外安装pyinstaller (使用pip直接在窗口输入命令:pip install pyinstaller)二 python打包成.exe比如我想把Propose.py文件打包成.exe流程如下:(1)cmd命令下进入我们需要打包的文件所在的文件件比如我的python文件在D:\pycharm\CXCBAuto_NEW\src\testcase下原创 2020-08-11 15:59:24 · 623 阅读 · 0 评论 -
Python 实现自动登录+点击+滑动验证
需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了在这里我模拟了csdn的登录过程**1**.首先打开网页,用户名+密码登录,然后定位用户名输入框,和密码输入框,输入后 点击登陆 弹出验证滑动条 def __init__(self): self.url = 'https://passport.csdn.net/login' self.browser = webdriver.Chrome() #获取登原创 2020-06-08 10:43:33 · 2208 阅读 · 1 评论