关于selenium中的三种等待方式与EC模块的知识 1. 强制等待第一种也是最简单粗暴的一种办法就是强制等待sleep(xx),强制让闪电侠等xx时间,不管凹凸曼能不能跟上速度,还是已经提前到了,都必须等xx时间。看代码:?12345678# -*- coding: utf-8 -*-from selenium import webdriverfrom time import sleepdriver = webdriver.Firefox()dri...
关于selenium中的WebdriverWait #coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.wait import We...
关于os模块中的文件夹遍历,文件操作,文件的创建和修改时间的用法 在Python中,文件操作主要来自os模块,主要方法如下:os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dirnameos.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfi...
关于单元测试生成测试报告的问题 取消默认的右击运行unittest方法:File-> Settings -> Tools -> Python Integrated Tools -> Default test runner ,将Unittests改为py.test即可这个很重要很重要!
关于os模块中查看文件时间的几种用法 os.path.dir()import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerreportdir = 'C://app//pycharm//REPORT'files = os.listdir(reportdir)#查看路径下的所有文件os.path.ge
学习HTMLTestRunner笔记 1.首先先要上网上下载HTMLTestRunner.py 文件,记住python2和python3的文件不一样,有些内容需要修改,否则运行报错。下载好后将文件放在python安装目录中的Lib文件夹 下。可以参考这个链接地址http://m.blog.csdn.net/galen2016/article/details/732512402.在代码中运行之前要先导入HTMLTestRunne
selenium-下拉框选择 今天总结下selenium的下拉选择框。我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框。后者我们通常的处理方式与其他的元素类似,点击或使用JS等。而对于前者,selenium给了有力的支持,就是Select类。我们要进行试验的网站:http://sahitest.com/demo/selectTest.htm网页与源
关于selenium中定位不到元素,切换frame 总有人看不明白,以防万一,先在开头大写加粗说明一下:frameset不用切,frame需层层切!很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼(原因之一,改天专门说说定位不到元素,可能的一些原因及处理办法)。frame标签有frameset、frame、if
python中join()函数 Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回一、函数说明1、join()函数语法: 'sep'.join(seq)参数说明sep:分隔符。可
关于继承父类的初始化方法 python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法。如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找。继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的。子类不显式调用父类的构造方法,而父类构造函数初始化了一
pycharm中常用快捷键 Alt+Enter 自动添加包shift+O 自动建议代码补全Ctrl+t SVN更新Ctrl+k SVN提交Ctrl + / 注释(取消注释)选择的行Ctrl+Shift+F 高级查找Ctrl+Enter 补全Shift + Enter 开始新行TAB Shift+TAB 缩进/取消缩进所选择的行Ctrl + Alt + I 自动缩进行Ctrl + Y
关于py中的枚举类 enum 首先,定义枚举要导入enum模块。枚举定义用class关键字,继承Enum类。用于定义枚举的class和定义类的class是有区别【下一篇博文继续分享】。 示例代码:from enum import Enumclass Color(Enum): red = 1 orange = 2 yellow = 3 green = 4 blue
关于python中的多重继承 关于python中的多重继承由于Python允许使用多重继承,因此,MixIn就是一种常见的设计。只允许单一继承的语言(如Java)不能使用MixIn的设计。class Father(object): def func(self): print('生父打儿子')class Laowang(object): def func(self):
selenium+Chrome 折腾了我2小时是才搞定 最近在用selenium ,selenium+firefox的环境早就搭好了且正常使用了今天突发奇想搭建selenium+chrome的环境,一直失败,一直报错,折腾死。后来发现chromedriver和chrome的版本是有对应关系的,关系对应错乱是不可能成功的所以下了最新的chrome 和 chromedriver.exe 首先将chromedriver放在chrome的安装路劲
今天复习py中的sorted #下面这方法可行L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]def by_name(x): return x[0]def by_score(x): return x[1]L1=sorted(L,key=by_name)print(L1)L2= sorted(L,key=by_score)pr
python中的生成器 generator yield 今天复习廖大的教程,复习到了生成器,之前这里看过一遍,但是已经忘的差不多了今天再来复习一遍python中的generator保存的是算法,真正需要计算出值的时候才会去往下计算出值。它是一种惰性计算(lazy evaluation)。第一种方法:把一个列表生成式的[]改成(),就创建了一个generator:>>> g = (x*x for x in range(11
python enumerate的使用 enumerate()使用如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:list1 = ["这", "是", "一个", "测试"]for i in range (len(list1)): print i ,list1[i]123上述方法有些累赘,利用enumerate()会更加直接和优美:list1 = ["这", "是", "一个", "测试"]
关于字典dict中的迭代 在python的迭代中,其实dict也是可迭代的:>>> d = {'a': 1, 'b': 2, 'c': 3}>>> for key in d:... print(key)...acb默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values():d = {'a':1,'B':2,'C':3,'D'
函数的参数 函数的参数主要有位置参数,默认参数,可变参数,关键字参数1.位置参数:def power(x,y): s = 1 while y > 0: y = y-1 s = s*x print(s)power(2,8)如果之传入一个参数则会报错缺少一个position参数2.默认参数:def power(x, n=2)