Selenium2+python自动化2-pip降级selenium3.0

selenium版本安装后启动Firefox出现异常:‘geckodriver‘ executable needs to be in PATH

selenium默默的升级到了3.0,然而网上的教程都是基于selenium2的,最近有不少小伙伴踩坑了,决定有必要出这一篇,帮助刚入门的小伙伴们解决好环境问题。

selenium+python环境搭配:

selenium2+firefox46以下版本(无需驱动包,firefox喜欢偷偷升级,你懂的)

selenium3+firefix47以上版本(必须下载驱动:geckodriver.exe,且添加到环境变量)

一、遇到异常

1.安装完selenium后,再cmd进入python环境

2.从selenium导入webdriver

3.启动Firefox浏览器

>>python

>>from selnium 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

六、升级pip版本

1.在使用pip过程中如果出现下方红色区域字样,就是说pip版本过低了,建议升级

2.如何升级pip呢?看最后一句话:python -m pip install --upgrade pip

3.把上面对应的提示照着敲一遍就可以了

时间: 2024-10-12 15:30:47

Selenium2+python自动化2-pip降级selenium3.0的相关文章

Selenium2+python自动化64-100(大结局)[已出书]

前言 小编曾经说过要写100篇关于selenium的博客文章,前面的64篇已经免费放到博客园供小伙伴们学习,后面的内容就不放出来了,高阶内容直接更新到百度阅读了. 一.百度阅读地址: 1.本书是在线阅读的,是实时在线阅读,电子书有个好处就是能及时更新内容. (当然购买此书的话,凭流水单号进QQ读书群:372471871可获取一本对应的PDF文档,方便阅读学习) 2.百度阅读地址:https://yuedu.baidu.com/ebook/0f6a093b7dd184254b35eefdc8d37

Selenium2+python自动化20-Excel数据参数化【转载】

前言 问: Python 获取到Excel一列值后怎么用selenium录制的脚本中参数化,比如对登录用户名和密码如何做参数化? 答:可以使用xlrd读取Excel的内容进行参数化.当然为了便于各位小伙伴们详细的了解,小编一一介绍具体的方法. 一.编写登录用例: Step1:访问http://www.effevo.com (打个广告effevo是搜狗自研发的项目管理系统,完全免费,非常好用)Step2:点击页面右上角的登录Step3:输入用户名和密码后登录Step4:检查右上角的头像是否存在实现

Selenium2+python自动化59-数据驱动(ddt)

前言 在设计用例的时候,有些用例只是参数数据的输入不一样,比如登录这个功能,操作过程但是一样的.如果用例重复去写操作过程会增加代码量,对应这种多组数据的测试用例,可以用数据驱动设计模式,一组数据对应一个测试用例,用例自动加载生成. 一.环境准备 1.安装ddt模块,打开cmd输入pip install ddt在线安装 >>pip install ddt 二.数据驱动原理 1.测试数据为多个字典的list类型 2.测试类前加修饰@ddt.ddt 3.case前加修饰@ddt.data() 4.运

Selenium2+python自动化47-判断弹出框存在(alert_is_present)

前言 系统弹窗这个是很常见的场景,有时候它不弹出来去操作的话,会抛异常.那么又不知道它啥时候会出来,那么久需要去判断弹窗是否弹出了. 本篇接着Selenium2+python自动化42-判断元素(expected_conditions)讲expected_conditions这个模块 一.判断alert源码分析 class alert_is_present(object):    """ Expect an alert to be present.""&q

Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)

前言 批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner 一.导入HTMLTestRunner 1.这个模块下载不能通过pip安装了,只能下载后手动导入,下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 2.Download下HTMLTestRunner.py文件就是我们需

Selenium2+python自动化,判定元素是否存在

Selenium2+python自动化,判定元素是否存在 前言 最近有很多小伙伴在问如何判断一个元素是否存在,这个方法在selenium里面是没有的,需要自己写咯. 元素不存在的话,操作元素会报错,或者元素有多个,不唯一的时候也会报错.本篇介绍两种判断元素存在的方法. 一.find_elements方法判断 1.find_elements方法是查找页面上所有相同属性的方法,这个方法其实非常好用,能熟练掌握技巧的不多,小编这次就发挥它的功效 2.由于元素定位的方法很多,所以判断的时候定位方法不统一

Selenium2+python自动化29-js处理多窗口

前言 在打开页面上链接的时候,经常会弹出另外一个窗口(多窗口情况前面这篇有讲解:Selenium2+python自动化13-多窗口.句柄(handle)),这样在多个窗口之间来回切换比较复杂,那么有没有办法让新打开的链接在一个窗口打开呢? 要解决这个问题,得从html源码上找到原因,然后修改元素属性才能解决.很显然js在这方面是万能的,于是本篇得依靠万能的js大哥了. 一.多窗口情况 1.在打baidu的网站链接时,会重新打开一个窗口  (注意:我的百度页面是已登录状态,没登录时候是不会重新打开

Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)【转载】

本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/unittest/ 前言 批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner 一.导入HTMLTestRunner 1.这个模块下载不能通过pip安装了,只能下载后手动导入,下载地址:http://tungwaiyip.inf

Selenium2+python自动化59-数据驱动(ddt)【转载】

本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/unittest/ 前言 在设计用例的时候,有些用例只是参数数据的输入不一样,比如登录这个功能,操作过程但是一样的.如果用例重复去写操作过程会增加代码量,对应这种多组数据的测试用例,可以用数据驱动设计模式,一组数据对应一个测试用例,用例自动加载生成. 一.环境准备 1.安装ddt模块,打开cmd输入pip install ddt在线安装 >>pip install ddt 二.数据驱

Selenium2+python自动化61-Chrome浏览器(chromedriver)【转载】

前言 selenium2启动Chrome浏览器是需要安装驱动包的,但是不同的Chrome浏览器版本号,对应的驱动文件版本号又不一样,如果版本号不匹配,是没法启动起来的. 一.Chrome遇到问题 1.如果在启动chrome浏览器时候,出现如下界面,无法打开网址,那么首先恭喜你,踩到了坑,接下来的内容或许对你有所帮助 >># coding:utf-8>>from selenium import webdriver >>driver = webdriver.Chrome()