大多数现代web应用都使用了AJAX技术.当浏览器加载一个页面的时候,该页面内的元素可能在不用的时间间隔内进行加载.这使得元素定位变得比较困难:如果一个元素还没有出现在DOM中,定位函数将会抛出一个ElementNotVisibleException异常.使用waits等待可以解决这个问题.等待将会给定位一个元素或者对元素进行一些其他的操作提供一个缓冲的时间. Selenium WebDriver提供了两种类型的等待--显式等待和隐式等待.显式等待会给WebDriver一个确定的条件,如果条件满…
作者:Baiju Muthukadan 协议:本文档采用知识共享署名 - 共享4.0国际许可. 原英文网址:http://selenium-python.readthedocs.io/index.html 翻译:Tacey Wong 注意 :这不是官方文档,官方API文档可以到这里查阅 目录 1.安装-100% 1.1简介 1.2下载Selenium Python 1.3 Driver驱动器 1.4 针对Windows用户的详细介绍 1.5下载Selenium server 2.初步开始-100…
1.1.简介 Selenium Python为使用Selenium WebDriver来编写功能/验证测试提供了一个简单的API接口.通过Selenium Python API,你可以以一种非常直观的方式来访问Selenium WebDriver的所有功能. Selenium Python为访问诸如火狐.IE.Chrome等浏览器的Selenium WebDriver提供了一个简便的API接口,当前该支持Python2.7,3.5+. 本文档仅仅介绍Selenium2 WebDriver的API…
另外一个FAQ:https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions 8.1.怎样使用ChromeDriver 从chromedriver 下载页下载版(译者注:需FQ).解压压缩包: unzip chromedriver_linux32_x.x.x.x.zip 你应该看到一个chromedriver可执行文件.接着你就可以像下面这样创建一个WebDriver实例: driver = webdriver.Ch…
2.1.简单使用 如果已经安装好了Selenium Python,你就可以像下面这样编写Python代码来使用它了: from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() driver.get("http://www.python.org") assert "Python" in driver.title…
要定位一个页面中的元素有多中策略和方法.你可以根据实际情况选择其中最为合适的.Selenium为定位页面元素提供了下面的这些方法: find_element_by_id(使用id) find_element_by_name(使用name属性值) find_element_by_xpath(使用XPath) find_element_by_link_text(使用显示文本) find_element_by_partial_link_text(使用超链接文本) find_element_by_tag…
由于API文档格式不太适合cnblog博客,暂且翻译一部分,且暂未校对 注意:这不是官方文档,官方 API文档在这里. 本章包含Selenium WebDriver的所有接口 推荐import风格 本章中的API第一显示的都是类的绝对位置.然而,要推荐的是下面这种import风格: from selenium import webdriver 接着,你可以像下面这样访问其中的类: webdriver.Firefox webdriver.FirefoxProfile webdriver.Chrom…
你使用WebDriver要做的第一件事就是访问一个链接.一般通过调用get方法来实现: driver.get("http://www.baidu.com") 在将控制权返给你的脚本之前WebDriver将会等待Web页面完全加载(也就是说,等待onload被触发).值得注意的是如果你的页面在加载的时候使用了大量的AJAX的话,WebDriver可能不知道什么时候页面已经加载完成.如若你需要确保这类页面被完整加载,可以使用wait等待. 3.1.与页面进行交互 仅仅访问一个页面并没什么大…
本章是介绍页面对象设计模式的教程.一个页面对象代表了web应用用户接口的一片区域,你的测试代码将与之交互的. 使用页面对象模式的好处: 可以创建在多个测试样例中都可使用的可重用代码 减少重复性代码 如果用户接口发生改变,只需要字一个地方做出改动即可 6.1 测试样例 下面是一个测试样例,用于测试Pytohn.org网站的搜索功能,搜索一个单词,并确保能得到一些结果. import unittest from selenium import webdriver import page class…
朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素 [下载文本PDF进行阅读] 本文我会来说说我认为架构评审中应该看的一些点,以及我写设计文档的一些心得.助你在架构评审中过五关斩六将,助你写出能让人收藏点赞的设计文档. 技术架构评审 架构评审或技术方案评审的价值在于集众人的力量大家一起来分析看看方案里是否有坑,方案上线后是否会遇到不可逾越的重大技术问题,提前尽可能把一些事情先考虑到提出质疑其实对项目的健康发展有很大的好处.很多公司都有架构评审委员会都有架构评审的流程,做业务的兄弟要…
最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实在是太多, 根本存不过来.后来追踪到 Python 官方的 GitHub 文档地址, 干脆就把官方的 GitHub 下载下来了:cpython GitHub 地址. 1. 下载 Python 的 GitHub 仓库:cpython从 GitHub 上 clone 仓库很简单,在命令行中执行命令 gi…
python 文档 https://docs.python.org/2/library/index.html…
从可信的来源更新镜像 现在越来越重要的是,设备不仅要能安全地进行更新操作, 而且要能够验证发送的图像是否来自一个已知的源, 并且没有嵌入恶意软件. 为了实现这个目标,SWUpdate必须验证传入的镜像. 有几种方法可以做到这一点. 这里有一些问题,完整的复合镜像需要签名吗?还是只是它的某些部分需要? 不同做法的优缺点将在下一章中描述. 对复合镜像进行签名 一个直接了当的做法是对整个复合镜像进行签名.但是.这样做有一些严重 的缺点.这会导致无法在加载完整个复合镜像之前对镜像进行验证. 这意味着,校…
9.9 Python 文档字符串. 进入 Python 标准库所在的目录. 检查每个 .py 文件看是否有__doc__ 字符串, 如果有, 对其格式进行适当的整理归类. 你的程序执行完毕后, 应该会生成一个漂亮的清单. 里边列出哪些模块有文档字符串, 以及文档字符串的内容. 清单最后附上那些没有文档字符串模块的名字. import os #import pdb path2search = '/System/Library/Frameworks/Python.framework/Versions…
__doc__特殊变量用于查看类.函数.模块的帮助信息,这些帮助信息存放在文档字符串中. 一. 关于文档字符串 关于文档字符串前面很多章节提到过,DocStrings 文档字符串用于程序的文档说明,并作为程序的一部分嵌入代码中,使得帮助信息成为程序的一部分 ,帮助程序文档更加简单易懂,且使用维护方便. 文档字符串是使用一对三个单引号 ''' 或者一对三个双引号 """来包围且没有赋值给变量的一段文字说明(如果是单行且本身不含引号,也可以是单引号和双引号), 它在代码执行时会被…
如今,大多数的Web应用程序使用AJAX技术.当页面加载到浏览器,页面中的元素也许在不同的时间间隔内加载.这使得元素很难定位,如果在DOM中的元素没有呈现,它将抛出ElementNotVisibleException异常.使用waits,我们可以解决这个问题. Selenium WebDriver 提供两种类型的waits -- 隐式和显式.显式的wait使webdriver等待发生之前,继续执行一定的条件.一个隐式的wait使webdriver DOM在一定时间后,试图定位元素. Explic…
Beautiful Soup 4.2.0 文档 Python3网络爬虫开发实战 Python库-requests 文档 Selenium with Python中文翻译文档 http://www.testclass.net/selenium_python/ http://phantomjs.org/api/webpage/method/add-cookie.html Python爬取新浪微博热搜榜 urllib和urllib2的区别…
参考文章:https://www.cnblogs.com/yoyoketang/p/6189740.html 环境:windows + python3 + selenium3 打开cmd,执行命令:python -m pydoc -p 6666 在ie浏览器上输入打开网址http://localhost:6666/ 找到selenium安装目录 打开的selenium>webdriver>firefox>webdriver,最终路径:http://localhost:6666/selen…
详细的为代码编写文档,这其实是写好代码的重要部分. 常见编写代码的陷阱: 1.别忘了冒号.一定要记住在复合语句首行末未输入":" 2.从第一行开始.要确定顶层(无嵌套)程序代码从第一行开始.这包括在模块文件中输入的无嵌套的代码,以及在交互模式提示符下输入的无嵌套的代码 3.空白行在交互模式提示符下很重要.模块文件中符合语句内的空白行都会被忽略,但是,交互模式提示符下输入代码时,空白行则是会结束语句. 4.缩进要一致.避免在块缩进中混合制表符和空格.每个块全都使用制表符或空格,这样比较安…
有各种不同的策略来定位页面中的元素.你可以使用最合适定位方式用于你的用例.Selenium提供了以下方法来定位页面中的元素: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag_name find_element_by_class_name find_element_…
Installation Introduction Selenium Python bindings 提供了一个简单的API来使用Selenium WebDriver编写使用功能/验收测试.通过Selenium Python API,您可以通过直观的方式来访问Selenium WebDriver的所有功能. Selenium Python bindings 提供了一个便捷的API来访问Selenium WebDrivers,如Firefox,IE,Chrome浏览器,远程连接等.目前支持的Pyt…
Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试. 例子: # mydict2.py class Dict(dict): ''' Simple dict but also support access as x.y style. >>> d1 = Dict() >>> d1['x'] = 100 >>> d1.x 100 >>> d1.y = 200 >>> d1['y'] 20…
def average(values): """ compute average value >>> print(average([20, 30, 10])) 20.0 >>> 上面测试的语法>>> 后面需要空一格,否则测试缩进错误 测试完如果文档还需要写其它注释,则以>>>  结尾,否则这段注释 也会被当为上面测试的输出结果,这样明显不是我们希望的输出结果 :param values: :return:…
关键方法 提取文档内容 读取TXT文档 txt文档的读取很简单,直接用python自带的open()方法就好,代码如下所示: # 读取TXT文档 def read_txt(path): '''实现TXT文档的读取,一次将内容全部取出''' content = '' with open(path) as f: content = f.read() return content # 也可以用readline()读取每一行 读取Word文档 读取Word文档也比较简单,导入第三方库python-doc…
文档生成工具: 自带的pydoc,比较差 建议使用sphinx 安装: pip install sphinx 安装主题: 由各种主题,我选择常用的sphinx_rtd_theme pip install sphinx_rtd_theme 使用方法: 1.创建文件夹doc:mkdir doc:cd doc:执行sphinx-quickstart,进入引导,根据需要选择yes或者no 2.执行sphinx-quickstart引导程序只会生成一个index.rst 3.在doc目录下执行sphinx…
Python 文件的操作方法: 打开文件 f = open('test','r',encoding='utf-8') #f :文件句柄 #test:文件绝对路径 #r:打开方式 #encoding 打开文件的编码模式 with open('test',encoding='utf-8') as f: pass #如果不输入填写的方式默认是已只读的方式打开 #这种打开方式,文件操作完了之后,系统自动执行close 关闭文件 文本的打开模式: r 以只读方式打开 w 以写方式打开 (如果文件不存在,就…
关键字: 函数说明.help()函数 1.效果图: 2.代码: # 文档字符串( doc str) 是 函数使用说明 # 用法: 在函数第一行写一个字符串 def fn(*nums): ''' 函数的作用: 计算任意数值的总和 函数的参数: *nums 会接受所有传进来的值,保存到一个元组中(装包) ''' print(nums,type(nums)) #定义一个变量,用来保存总和 result = 0 for n in nums: result += n return result print…
什么是mock unittest.mock是一个用于在Python中进行单元测试的库,Mock翻译过来就是模拟的意思,顾名思义这个库的主要功能是模拟一些东西.它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为. 学过python自动化的对unittest并不陌生,unittest其实是单元测试框架,但对于单元测试,估计很多小伙伴都不懂,单元测试才是自动化测试的至高境界,其中mock是单元测试的脊髓所在 mock能做什么: 1.前后端联调,如果你是一个前端页面开发,现…
Simple Usage如果你已经安装了Selenium Python,你可以通过Python这样使用: #coding=gbk ''' Created on 2014年5月6日 @author: user ''' from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() driver.get("http://www.python.org&…
#coding=utf-8 #文档字符串def d(i,j): """这个函数实现了一个乘法运算. 函数会返回一个乘法运算的结果.""" k=i*j return k print d.__doc__#文档字符串的调用help(d)#文档字符串的调用…