目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要。本系列依然以selenium2为基础,目前selenium3坑比较多,暂时没精力去研究,后续会出相关教程。

一、selenium简介

Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。
Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行selenium1.0程序之前,需要先启动selenium server端(selenium remote control),简称RC。RC主要包括三个部分:launcher,http proxy,selenium core。其中selenium core是被selenium server嵌入到浏览器页面中的,selenium core内部是一堆javascript函数构成,通过调用这些函数来实现对浏览器的各种操作。很显然比较繁琐,这并不是最佳自动化解决方案,于是后来有了webdriver。

selenium2 的时代合并了webdriver,也就是通常说的selenium,selenium2是默认支持Firefox浏览器的,这点非常方便。当然也支持其他更多浏览器,IE和Chrome浏览器需要下载驱动包,并添加到环境变量下。

selenium3 是2016年十月份左右出来的,并且现在默认安装都是selenium3了,selenium3在selenium2的基础上做了一些调整,最明显的区别就是 selenium2对Firefox的支持最高只支持46及以下版本。selenium3可以支持47以上版本,但是需要下载geckodriver.exe驱动,并添加到环境变量path下。

鉴于selenium3中诸多问题,环境配置使用selenium2。

环境安装自不用多说,安装完成后(这里安装在C:\Python27),将目录:C:\Python27和C:\Python27\Scripts 加入到环境变量path中。

正确安装后,C:\Python27\Scripts目录下存在pip.exe和easy_install.exe,这样就加入到path中了

二、安装selenium2

使用命令:pip install selenium==2.53.6

#coding:utf-8'''上海悠悠selenium-5'''from selenium import webdriver
import time#打开浏览器
driver = webdriver.Firefox()
#打开百度
driver.get('http://www.baidu.com')#页面加载需要几秒钟的时间
time.sleep(2)driver.get("http://www.cnblogs.com/yoyoketang/p/6123834.html")time.sleep(2)#返回上一页,浏览器上的回退
driver.back()time.sleep(2)driver.forward()driver.set_window_rect(540,960)
time.sleep(2)driver.maximize_window()
#页面刷新
driver.refresh()driver.quit()

'geckodriver' executable needs to be in PATH 表明 geckodriver驱动需要添加到环境变量path中,因为selenium2默认支持 Firefox()的,不需要驱动包,但是selenium3 需要驱动包的支持,因此这也正是为什么在安装selenium2中出现了selenium3的从而导致脚本运行失败。

从而有两种方法:1、继续使用selenium3,并下载驱动包,同时添加到环境变量中

2、selenium3降到selenium2

至于如何降到selenium2中,通过查询版本信息:

由于python第三方包的安装目录为:C:\Python27\Lib\site-packages,如果上述查询结果为3.*.*,则删除该目录下的

由于这里已经是selenium2,所以无需删除。如果是selemnium3,需要进行删除,之后进行pip安装。

此外由于selenium只兼容Firefox.47版本以下的,因此如果是Firefox浏览器时要主要,同时安装之后需要关闭自动更新的选项。这里给出Firefox()浏览器的地址Firefox.

selenium2与python自动化1-selenium简介与降级相关推荐

  1. selenium2与python自动化2-元素定位

    Firefox浏览器作为selenium的默认浏览器不是没有道理的,其强大的元素定位能力,能快速有助于开发人员对于关键字的获取.而自动化需要掌握的关键步骤有:获取元素,操作元素,获取返回结果,断言(判 ...

  2. python自动化测试之unittest简介讲解

    前言 小伙伴们好呀,我们都知道java有很常见的单元测试框架Junit和TestNG,那么python里面也有单元测试框架-unittest,相当于是一个python版的junit.python里面的 ...

  3. Python自动化:pubmed简介

    导入安装包 第一步当然是导包了.自动化需要的包小伙伴还记得吗,就是selenium,具体如下: from selenium import webdriver from selenium.webdriv ...

  4. python selenium api_Selenium2+python自动化-查看selenium API

    前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. pydo ...

  5. wps python 自动化_Python3+Selenium+Chrome实现自动填写WPS表单

    引言 本文通过python3.第三方python库Selenium和谷歌浏览器Chrome,完成WPS表单的自动填写. 开发环境配置 python3的安装:略,网上都有教程. Selenium的安装: ...

  6. selenium2与python自动化6-select下拉框

    首先来认识一些select,在白百度搜索页面中 点击"搜索设置"按钮 箭头所指的即为select搜索框,使用firebug打开元素定位,select标签下有三个选项,这样首先通过s ...

  7. selenium2与python自动化5-iframe和163邮箱登录

    Frame和iframe两者可以实现的功能基本类似,不过iframe比Frame使用起来更加灵活,Frame不能脱离frameset单独使用,而iframe可以,frame不能放在body中,否则不能 ...

  8. selenium2与python自动化4-css元素定位

    前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁. 这一篇cs ...

  9. python自动化脚本是什么意思_Python 自动化脚本学习(一)

    Python 基础 命令行:在http://www.python.org安装python3,Mac下输入python3进入命令行 整数,浮点数,字符串类型:-1,0.1,'game' 字符串连接和复制 ...

最新文章

  1. SAP MM 采购组与采购组织,岂能没有点关系?
  2. undb php,显示html过滤报错,我不知道如何修改了。
  3. 多线程编程之线程同步主要函数一览
  4. 四位共阳极数码管显示函数_数码管模块.doc
  5. 【项目管理】知识域在过程组中的体现
  6. S3C6410的DRAM控制器
  7. [软件工程]在线教程
  8. OpenStack点滴01-概览
  9. Struts2之ajax初析
  10. ArcMap操作技巧
  11. 性能测试--jmeter中正则表达式提取器的使用【16】
  12. Javascript面向对象之私有静态变量
  13. openwrt下ipk生成过程及原理
  14. pathogen插件管理器学习笔记
  15. Kaggle经典项目——房价预测
  16. html css js中分号的使用
  17. Datawhale十月组队学习_推荐系统3
  18. linux对 pow 未定义的引用,未定义引用`pow’和`floor’
  19. 编程:5 位评委对参赛选手进行打分,将所有的打分结果存储在对应类型的数组中,将所有评分结果 去除一个最低分,去除一个最高分,然后获取剩余 3 位评委的平均分数为选手的最终得分。设计程序, 用键盘输入
  20. 我的世界服务器右侧显示的字幕,我的世界怎么用命令方块显示字幕

热门文章

  1. Python之日志处理(logging模块)
  2. python 面向对象编程 之 上下文管理协议
  3. Linux 静态库 动态库
  4. 软件性能-概念、关注点、术语
  5. 最小圆覆盖(Smallest Enclosing Discs)
  6. Java设计模式(七)策略模式 模板模式
  7. Merge Sorted Array
  8. Servlet3.0学习总结(三)——基于Servlet3.0的文件上传
  9. 网络抓包工具wireshark and tcpdump 及其实现基于的libpcap
  10. BEx Query Designer中的变量及其增强