Selenium2+python自动化1(环境安装)
前言
目前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下。
接下来的内容以selenium2为主
************环境组合**************************
初学者最佳环境:python2.7+selenium2+Firefox46以下版本
喜欢尝新的环境:python3.6+selenium3+Firefox47以上版本
*********************************************
小编的环境:
windows10 64位
python 3.7.12
selenium 2.53.6
firefox 44
1、安装Python
2、cmd输入指令安装selenium:pip install selenium==2.53.6
3、验证selenium
>python
>from selenium import webdriver
>webdriver.Firefox()
4、如果你打算用Firefox浏览器,那么千万别安装47以上版本(selenium2不兼容47以上),小编推荐用44版本。如果用Ie或Chrome浏览器,需要先下载浏览器驱动,将驱动文件放到python根目录。
5、pip 降级selenium
一、遇到异常
1.安装完selenium后,再cmd进入python环境
2.从selenium导入webdriver
3.启动Firefox浏览器
>>python
>>from selenium import webdriver
>>webdriver.Firefox()
然后出现以下异常:'geckodriver' executable needs to be in PATH
二、解决方案
1.'geckodriver' executable needs to be in PATH,这句话意思就是说,geckodriver.exe的驱动文件需要添加到环境变量下,
selenium2是默认支持firefox的,不需要驱动包,但是,selenium3需要驱动包的支持了,于是就有了上面的问题
2.解决办法一:继续使用selenium3,去下载驱动包,然后加到环境变量下(不推荐此办法,因为解决完这个问题后,后面还会接着有其它问题)
3.解决办法二:selenium3降级到selenium2(接下来会介绍)
三、检查pip环境
1.打开cmd,输入pip,检查pip环境是否正常
>>pip
2.如果输入pip出现提示:Did not provide a command 说明pip环境有问题,临时解决办法,输入pip时候加上后缀pip.exe就可以了,具体原因看下一篇解决办法。
四、pip查看selenium版本号
1.打开cmd,输入pip show selenium
>>pip show selenium
2.看红色区域位置版本号显示:2.53.0,显示的就是当前使用的版本号
(如果你这里显示的是3.0开头,就需要接下来步骤了)
五、pip降级selenium
1.为了避免与之前安装的selenium版本冲突,先找到selenium3.0目录:python\Lib\site-packages目录
把里面selenium开头的文件全部删除就可以了。python所有的第三方包都在这个目录下面。
2.打开cmd,输入pip install selenium==2.53.6(注意是两个==,中间不要留空格,这里推荐2.53.6的版本)
>>pip install selenium==2.53.6
转载于:https://www.cnblogs.com/youtiaoge/p/10168680.html
Selenium2+python自动化1(环境安装)相关推荐
- Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)
前言 批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLT ...
- Selenium2+python自动化24-js处理富文本(带iframe)
前言 上一篇Selenium2+python自动化23-富文本(自动发帖)解决了富文本上iframe问题,其实没什么特别之处,主要是iframe的切换,本篇讲解通过js的方法处理富文本上iframe的 ...
- python新手之一环境安装
今天开始学习python,首先环境安装 1.下载安装 在https://www.python.org/downloads/下载python2.X或者3.X(ps:这里建议下载32位的python ,因 ...
- Selenium2+python自动化43-判断title(title_is)
前言 获取页面title的方法可以直接用driver.title获取到,然后也可以把获取到的结果用做断言. 本篇介绍另外一种方法去判断页面title是否与期望结果一种,用到上一篇Selenium2+p ...
- Selenium2+python自动化33-文件上传(send_keys)
前言 文件上传是web页面上很常见的一个功能,自动化成功中操作起来却不是那么简单. 一般分两个场景:一种是input标签,这种可以用selenium提供的send_keys()方法轻松解决: 另外一种 ...
- Selenium2+python自动化28-table定位
前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见.本篇详细讲解table表格如何定位. 一.认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table ...
- Selenium2+python自动化7-xpath定位
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. ...
- Selenium2+python自动化57-捕获异常(NoSuchElementException)
Selenium2+python自动化57-捕获异常(NoSuchElementException) 参考文章: (1)Selenium2+python自动化57-捕获异常(NoSuchElement ...
- 自学python需要安装什么-Python自学之环境安装
原标题:Python自学之环境安装 网上有各种Python环境安装的教程,看似简单但只有自己亲身实践才知有好多坑.作者在Windows 7 32位操作系统下部署Python环境(这里遇到的一个坑是Wi ...
- python学习笔记1之-python简介及其环境安装
python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...
最新文章
- css做html5logo,用纯css实现的html5 logo标志
- 2018 UESTC 线段树专题
- Linux uart寄存器读写,Linux下读写UART串口的代码
- Python:进阶操作(1)
- C语言怎么确定用什么整形,【求助各位大虾!】 怎样用 if 语句验证一个整形数字。...
- 使用python简单连接并操作数据库
- mellanox 网卡驱动_收购Mellanox之后 NVIDIA发布全球首款25G安全智能网卡
- 变形金刚2_变形金刚(
- php冒泡排序和快速排序笔记
- 测试驱动开发–双赢策略
- XJava程序设计专家门诊
- 《硝烟中的Scrum和XP》学习手札
- POJ3251 Big Square【水题】
- PI系统在DCS中的应用
- 计算机类单位换算,计算机单位换算大全
- scrapy+python爬地图参照物应该有的坑及解决办法
- JAVA学习——Lambda表达式是干什么用的?
- 【转载】分析商品日均销量(DMS)对促销商品选择的意义
- php查询google pr值接口api介绍,最新 google pr值查询 接口 php版 示例
- 物联网-物联网智能数据处理技术
热门文章
- QEMU-KVM自己主动创建虚拟机,以指定IP构造
- 一起ORACLE数据库中数据查询结果不一致问题的排查过程
- Win7开机密码破解
- 51js 的json编辑器
- pymongo cusor not found
- oracle bom层级sql,oracle bom_tree.sql
- android悬浮动态权限,android应用内悬浮窗-自动贴边,不需要权限!
- php rule engine,jinchunguang
- java同步与死锁_Java多线程 - 线程同步与死锁
- opengl深度缓冲获得的深度图精度太低_深度学习行人重识别ReID最新综述与展望...