Python+selenium鼠标、键盘事件
摘要:鼠标操作 现在的Web产品提供了丰富的鼠标交互方式,例如鼠标右击、双击、悬停、甚至是鼠标拖动等功能,在Webdriver中,将这些关于鼠标操作的方法封装在ActionChains类提供。 1.鼠标右击操作 from selenium.webdriver import ActionChains,导入提
阅读全文
posted @
2017-12-28 16:32
NancyRM
Python+selenium下拉菜单选项
摘要:案例:在我要自学网登录页面选择要保留的时间 具体页面如图所示: 使用前端工具查看部分页面代码: Python代码: 使用tag定位: find_elements_by_tag_name('option')获取到所有的标签,相当于把标签存放到一个数组里面,然后想要选择哪个选项,就按照[1]这样选择。
阅读全文
posted @
2017-12-26 16:51
NancyRM
Webdriver元素定位3(CSS)
摘要:Selenium极力推荐使用CSS 定位,而不是XPath来定位元素,原因是CSS 定位比XPath 定速度快,语法也更加简洁。 CSS常用定位方法 通过前端工具获取到百度首页的代码,部分如下所示: 案例:在百度首页的搜索框输入selenium,点击搜索按钮 通过class属性定位 通过id属性定位
阅读全文
posted @
2017-12-25 17:00
NancyRM
Webdriver元素定位2(XPath)
摘要:XPath即为XML路径语言,它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。 绝对路径定位 案例:在百度首页搜索框输入selenium 注意:参考前端工具所展示的代码,可以找到百度首页搜索框的绝对路径(比如FirePath),下面是百
阅读全文
posted @
2017-12-25 16:02
NancyRM
Webdriver元素定位1
摘要:元素的定位应该是自动化测试的核心,要想操作一个元素,首先应该识别这个元素。 webdriver提供了一系列的元素定位方法,常用的有以下几种: id name class name tag link text partial link text xpath css selector 案例:打开百度首页
阅读全文
posted @
2017-12-25 14:29
NancyRM
Webdriver测试脚本2(控制浏览器)
摘要:Webdriver提供了操作浏览器的一些方法,例如控制浏览器的大小、操作浏览器前进和后退等。 控制浏览器窗口大小 有时候我们希望能以某种浏览器尺寸打开,让访问的页面在这种尺寸下运行。例如可以将浏览器设置成移动端大小(480*800),然后访问移动站点,对其样式进行评估;Webdriver提供了set
阅读全文
posted @
2017-12-22 16:52
NancyRM
Webdriver测试脚本1(打开网页并打印标题)
摘要:案例: 运行结果(首先打开博客园,3秒后打开百度首页,然后打印标题如下): 博客园 - 开发者的网上家园百度一下,你就知道
阅读全文
posted @
2017-12-22 15:57
NancyRM
Webdriver概述(selenium对应浏览器版本)
摘要:Webdriver (Selenium2)是一种用于Web应用程序的自动测试工具,它提供了一套友好的API,与Selenium 1(Selenium-RC)相比,Webdriver 的API更容易理解和使用,其可读性和可维护性也大大提高。Webdriver完全就是一套类库,不依赖于任何测试框架,除了
阅读全文
posted @
2017-12-22 15:50
NancyRM
阅读(833)
推荐(0)
pip提示Did not provide a commend
摘要:今天小编想要查看一下自己安装的pip版本,并且使用pip查看selenium版本等,结果在cmd输入pip,提示Did not provide a commend,如下所示: 在网上查询了很多方法,比如输入pip.exe--version或者pip --version都未成功 最后输入where p
阅读全文
posted @
2017-12-22 11:07
NancyRM
阅读(380)
推荐(0)
常用正则表达式
摘要:说明:正则表达式通常用于两种任务:1.验证,2.搜索/替换。用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串;搜索/替换时是否加上此限定则根据搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$。此表所列的常用正则表达式,除个别外均未在前后加上任何限定,请根据需要,自行处理。
阅读全文
posted @
2017-12-21 17:18
NancyRM
阅读(213)
推荐(0)
正则表达式(二)
摘要:分组 我们已经提到了怎么重复单个字符(直接在字符后面加上限定符就行了);但如果想要重复多个字符又该怎么办?你可以用小括号来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作(后面会有介绍)。 (\d{1,3}\.){3}\d{1,3}是一个简单的
阅读全文
posted @
2017-12-21 10:35
NancyRM
阅读(282)
推荐(0)
正则表达式(一)
摘要:目录 正则表达式到底是什么 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。 很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目
阅读全文
posted @
2017-12-20 17:08
NancyRM
阅读(655)
推荐(0)
Python爬虫 爬取Web页面图片
摘要:从网页页面上批量下载jpg格式图片,并按照数字递增命名保存到指定的文件夹 Web地址:http://news.weather.com.cn/2017/12/2812347.shtml 打开网页,点击F12查看 代码实现: 结果:
阅读全文
posted @
2017-12-19 15:57
NancyRM
python 线程与进程
摘要:进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 线程(Thread) 有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。 线程是进程中的一个实体,是被系统独立调度和分派的
阅读全文
posted @
2017-12-18 17:10
NancyRM
Python xml文件处理
摘要:什么是XML文件? xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 从结构上,很像HTML超文本标记语言。但他们被设计的目的是不同的,具体如下: XML 被设计用来传输和存储数据 HTML 被设计用来显示数据 创建xml文件: XML节点
阅读全文
posted @
2017-12-15 17:11
NancyRM
Python文件处理(txt、csv文件读取)
摘要:打开文件 使用Python内置的方法 open()可以打开文件 file_name:file_name变量是一个包含了你要访问的文件名称的字符串值 access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式
阅读全文
posted @
2017-12-14 17:02
NancyRM
Python异常
摘要:什么是异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。 常见异常类型 异常处理语句 try...e
阅读全文
posted @
2017-12-14 16:35
NancyRM
阅读(186)
推荐(0)
Python面向对象
摘要:Python面向对象 现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类、汽车、动物、水果这些都是一个抽象的类别,我们所见到的实物都是这些类的具体存在,因此类是对象的抽象集合,对象是类的具体表现。现实世界是万物皆对象! 一、基本特征 类(Class): 用来描述具有相同的属性和方法
阅读全文
posted @
2017-12-13 16:31
NancyRM
阅读(220)
推荐(0)
Python函数
摘要:Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。 比如print()\rang()函数。但你也可以自己创建函数,这被叫做用户自定义函数。 一、函数定义 函数定义规则: 函数代码块以 def 关键词开头,后接函数标识符名
阅读全文
posted @
2017-12-08 16:56
NancyRM
阅读(297)
推荐(0)
Python 循环语句(break和continue)
摘要:Python 循环语句(break和continue) while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立。本篇主要对比continue和break的区
阅读全文
posted @
2017-12-07 11:01
NancyRM
Python循环语句
摘要:Python循环语句 循环语句允许我们执行一个语句或语句组多次,Python提供了for循环和while循环(在Python中没有do..while循环) 一、Python while循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理
阅读全文
posted @
2017-12-07 10:50
NancyRM
阅读(769)
推荐(0)
Python条件判断(if)
摘要:Python条件判断(if) 一、基本介绍 1、Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句…… 需要注意的是,Python没有像其他大多数语言一样使用“{}”表示语句体,所以,它通过语句的缩进来判断语句体,缩进默认为4个空格,不要Tab和空格混用,否
阅读全文
posted @
2017-12-06 14:52
NancyRM
阅读(7000)
推荐(0)
Python字典(Dictionary)
摘要:Python字典 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 键必须是唯一的,但值则不必。 值可以取任何数据类型,但键必须是不可变的,如
阅读全文
posted @
2017-12-05 16:54
NancyRM
阅读(335)
推荐(0)
Python元组
摘要:Python元组 Python的元组与列表类似,不同之处在于元组的元素一旦定义就不能修改。 元组使用小括号,列表使用方括号。 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。 一、定义元组 要定义一个只有1个元素的元组,则需要在元素后面加逗号,用来消除数学歧义 定义一个空元组 元组可以使
阅读全文
posted @
2017-12-05 15:51
NancyRM
阅读(563)
推荐(0)
Python数组列表(List)
摘要:Python数组列表 数组是一种有序的集合,可以随时添加和删除其中的元素。 一、数组定义: 数组是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 数组的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。 二、访问数组元素 用索引来访问
阅读全文
posted @
2017-12-05 11:08
NancyRM
Python常用数据类型
摘要:在内存中存储的数据可以有多种类型。 Python 定义了一些标准类型,用于存储各种类型的数据。 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 本文先介绍数字类型的整数、浮点数、以及字符串和转义字
阅读全文
posted @
2017-12-01 17:05
NancyRM
阅读(490)
推荐(0)