Python

python3 selenium自动化测试 强大的CSS定位方法

ccs的优点:css相对xpath语法比xpath简洁,定位速度比xpath快css的缺点:css不支持用逻辑运算符来定位,而xpath支持。css定位语法形式多样,相对xpath比较难记。css定位建议多用,这个定位方式很强大,定位速度快且准确度高。至于难记,用熟了就好了,对勤快的人来说,这不是问题。CSS_selector常用符号:#表示id.表示class>表示子元素,层级1.通过id属性定位:find_element_by_css_selector

系统 2019-09-27 17:49:19 2137

Python

python占位符输入方式实例

占位符,顾名思义就是插在输出里站位的符号。占位符是绝大部分编程语言都存在的语法,而且大部分都是相通的,它是一种非常常用的字符串格式化的方式。1、常用占位符的含义s:获取传入对象的__str__方法的返回值,并将其格式化到指定位置r:获取传入对象的__repr__方法的返回值,并将其格式化到指定位置c:整数:将数字转换成其unicode对应的值,10进制范围为0<=i<=1114111(py27则只支持0-255);字符:将字符添加到指定位置o:将整数转换成

系统 2019-09-27 17:49:18 2137

Python

python存入csv

如题,后续继续优化importcsv#构建表头headers=["id","user_name","age","country"]#内容列表rows=[("001","dana",18,"china"),("002","tom",22,"arimecan"),("003","jack",45,"hk")]#新建csv文档,默认是自动换行的,所以要newline=""withopen("csv01.csv","w",newline='')asf:f_csv=

系统 2019-09-27 17:49:07 2137

Python

python基础学习笔记(四)

python基础学习笔记(四)2013-04-1823:59虫师阅读(...)评论(...)编辑收藏列表本节继续讨论列表不同元组和字符串的地方:列表是可变的(mutable)----可以改变列表的内容,并且列表有很多有用的、专门的方法。List函数可以将一个字符串拆分成列表。>>>list('chongshi')['c','h','o','n','g','s','h','i']改变列表:元素赋值例如,我们想对一个列表中的某个元素赋值。>>>x=[1,2,3

系统 2019-09-27 17:48:57 2137

Python

译:selenium webdriver (python)

译:seleniumwebdriver(python)2013-06-1601:24虫师阅读(...)评论(...)编辑收藏如果翻译的很烂,原文档地址:http://docs.seleniumhq.org/docs/03_webdriver.jsp#firefox-driverseleniumwebdriver注:我们不断的更新这份文档,使这份文档更加正确和完善;这份文档相对来讲也是比较准确的。webdriver的简介硒2.0的主要新功能是集成的webdr

系统 2019-09-27 17:48:51 2137

Python

使用Python生成url短链接的方法

几乎所有的微薄都提供了缩短网址的服务,其原理就是将一个url地址按照一定的算法生成一段字符串,然后加在一个短域名后面边成了一个新的url地址,数据库中会存放这个短地址和原始的地址,当用户点击这个新的短地址后,短地址服务会根据短域名后面的几个字符串从数据库中读出原来的地址然后页面进行跳转。比如新浪微薄中的url是http://t.cn/xxxxxxxt.cn是其域名,其后面跟着的是7位算出来的字符串。方法一:使用哈希库自定义算法因为文本中显示太长的url会比

系统 2019-09-27 17:48:18 2137

Python

实例讲解Python中整数的最大值输出

在Python中可以存储很大的值,如下面的Python示例程序:x=10000000000000000000000000000000000000000000;x=x+1print(x)输出:10000000000000000000000000000000000000000001在Python中,整数的值不受位数的限制,可以扩展到可用内存的限制。因此,我们永远不需要任何特殊的安排来存储大数字(想象一下在C/C++中进行上述算术)。在Python3中,对于所有

系统 2019-09-27 17:48:01 2137

Python

Python类中的魔法方法之 __slots__原理解析

在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象python都会分配一个固定大小内存的字典来保存属性,如果对象很多的情况下会浪费内存空间。可通过__slots__方法告诉python不要使用字典,而且只给一个固定集合的属性分配空间classFoo(object):__slots__=("x","y","z")def__init__(self,x,y):self.x=

系统 2019-09-27 17:47:50 2137

Python

手动实现把python项目发布为exe可执行程序过程分享

1.手动制作python的exe可执行程序Python没有内建一个编译为exe的功能。给python程序的部署带来不少的麻烦。所以就会出现一些py2exe之类的很不错的工具,用于自动把.py文件编译为.exe文件。最近抽空研究了一下手动实现类似py2exe的功能,希望加强对python的了解。结果还相当不错。把结果记录下来,与大家共享。1.1.原理文中所描述的方法,基于python的以下几个功能1)python程序运行时,会在sys.path指定的路径中查

系统 2019-09-27 17:47:34 2137

Python

python做中学(五)多线程的用法

多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须

系统 2019-09-27 17:46:37 2137

Python

Python中使用ConfigParser解析ini配置文件实例

ini文件是windows中经常使用的配置文件,主要的格式为:复制代码代码如下:[Section1]option1:value1option2:value2python提供了一个简单的模块ConfigParser可以用来解析类似这种形式的文件。对于ConfigParser模块可以解析key:value和key=value这样的类型,对于#和;开头的行将会自动忽视掉。相当于注释行。常用的函数:复制代码代码如下:ConfigParser.RawConfigPa

系统 2019-09-27 17:45:50 2137

Python

在Python的while循环中使用else以及循环嵌套的用法

循环使用else语句在python中,for…else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行,while…else也是一样。#!/usr/bin/pythoncount=0whilecount<5:printcount,"islessthan5"count=count+1else:printcount,"isnotlessthan5"以上实例输出结果为:0is

系统 2019-09-27 17:38:42 2137

Python

利用Python自动监控网站并发送邮件告警的方法

前言因为有一些网站需要每日检查是否有问题,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以做到对网站自动监控了。这里用的是python3.5需要安装的插件:1、smtplib:发邮件需要用到2、pycurl:访问网站时会需要用到3、linecache:在读取txt网站清单时需要用到具体思路:python程序从txt里面批量读取到网站的信息,通过Curl.py模拟浏览器去访问网站,并且把访问的结果写入到以自己的网站名称-日期.tx

系统 2019-09-27 17:38:41 2137

Python

对于Python编程中一些重用与缩减的建议

返璞归真许多流行的玩具都以这样一个概念为基础:简单的积木。这些简单的积木可通过多种方式组合在一起构造出全新的作品――有时甚至完全令人出乎意料。这一概念同样适用于现实生活中的建筑领域,将基本原材料组合在一起,形成有用的建筑物。平凡无奇的材料、技术和工具简化了新建筑物的建造过程,同样也简化了对新踏入此领域的人员的培训。相同的基本概念也适用于计算机程序开发技术,包括以Python编程语言编写的程序。本文介绍了使用Python创建基本构件(buildingbloc

系统 2019-09-27 17:38:30 2137