当前位置 博文首页 > 猎摘互联网软件测试业界技术文章专用博客:python+selenium自动
1.1.1 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年10月份发布的,并且现在默认安装都是selenium3了,selenium3在selenium2的基础上做了一些调整,最明显的区别 就是 selenium2对Firefox的支持最高只支持46及以下版本。selenium3可以支持47以上版本,但是需要下载 geckodriver.exe驱动,并添加到环境变量path下。
接下来的内容以selenium2为主。
************环境组合**************************
初学者最佳环境:python2.7+selenium2+Firefox46以下版本
喜欢尝新的环境:python3.6+selenium3+Firefox47以上版本
*********************************************
小编的环境:
windows10 64位
python 2.7.12
selenium 2.53.6
firefox 44
?
1.1.2 python安装
1.小编的电脑操作系统:win10 64位系统
2.下载Python安装包,选择2.7版本和3.6版本都可以
(下面的教程,两个版本会一起讲,所以不用担心版本问题)
官网下载地址:https://www.python.org/
?
?3.Python安装,双击傻瓜式安装(别安装在c盘,用英文路径,不要有空格),安装时候选中下方红色框框,如果这一步成功,1.1.3环境变量这一步可以省略。
?
1.1.3 环境变量
1.安装完成后,看下这个目录D:\python\Scripts,有没pip.exe和easy_install.exe(一般都有,没有的话得卸载重新安装一次了)
2.将D:\python和D:\python\Scripts(注意这两个是复制自己电脑上的路径),添加到环境变量path下。
D:\python;D:\python\Scripts;(注意带上英文的分号)
?
?
1.1.4 安装selenium
? 1.打开cmd窗口输入:pip
(如果出现其它提示请检查上面几步,确认无误后出现Did not provide a command,看1.3解决pip异常这篇)
?
? 2.cmd输入指令安装在线安装selenium
>pip install selenium==2.53.6
(注意:首次装一定要看到进度100%完成,如果中途失败了,重新输入指令安装,直到看到100%完成为止)
?
?
1.1.5 验证selenium
?如何才能知道selenium正确安装好了呢?
?1.确保电脑上安装了Firefox浏览器46以下版本
?cmd窗口输入如下指令
??>python
? >from selenium import webdriver
??>webdriver.Firefox()
?3.如果能启动浏览器,说明环境安装OK。
(启动不成功,说明没认真看文档,卸载了重新来一次)
1.1.6 浏览器
? 1.如果你打算用Firefox浏览器,那么千万别安装47以上版本(selenium2不兼容47以上)
??2.如果你打算用Ie或Chrome浏览器,需要先下载浏览器驱动,将驱动文件放到python根目录。
?
如果有的已经安装过3.0的版本,启动firefox时候会报错,下一章讲如何使用pip降级selenium版本
1.1.7 firefox历史版本
firefox历年版本的官方镜像地址:
https://download-installer.cdn.mozilla.net/pub/firefox/releases/?
selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH
selenium默默的升级到了3.0,然而网上的教程都是基于selenium2的,最近有不少小伙伴踩坑了,决定有必要出这一篇,帮助刚入门的小伙伴们解决好环境问题。
selenium+python环境搭配:
selenium2+firefox46以下版本(无需驱动包,firefox喜欢偷偷升级,你懂的)
selenium3+firefox46以上版本(必须下载驱动:geckodriver.exe,且添加到环境变量)
1.2.1 遇到问题
? ? 1.安装完selenium后,再cmd进入python环境
? ? 2.从selenium导入webdriver
? ? 3.启动Firefox浏览器
>>python
>>from selenium import webdriver
>>webdriver.Firefox()
然后出现以下异常:'geckodriver' executable needs to be in PATH
?
1.2.2 解决方案
? ? 1.'geckodriver' executable needs to be inPATH,这句话意思就是说,geckodriver.exe的驱动文件需要添加到环境变量下,
selenium2是默认支持firefox的,不需要驱动包,但是,selenium3需要驱动包的支持了,于是就有了上面的问题
? ?2.解决办法一:继续使用selenium3,去下载驱动包,然后加到环境变量下(不推荐此办法,因为解决完这个问题后,后面还会接着有其它问题)
? ?3.解决办法二:selenium3降级到selenium2(接下来会介绍)
?
1.2.3 检查pip环境
? ? 1.打开cmd,输入pip,检查pip环境是否正常
>>pip
??? 2.如果输入pip出现提示:Did not provide a command 说明pip环境有问题,临时解决办法,输入pip时候加上后缀pip.exe就可以了,具体原因看下一篇解决办法。
1.2.4 pip查看selenium版本号
? ? 1.打开cmd,输入pip show selenium
>>pip show selenium
? ?2.看红色区域位置版本号显示:2.53.0,显示的就是当前使用的版本号
(如果你这里显示的是3.0开头,就需要接下来步骤了)
?
?
1.2.5 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
?
1.2.6 升级pip版本
? ? 1.在使用pip过程中如果出现下方红色区域字样,就是说pip版本过低了,建议升级
? ? 2.如何升级pip呢?看最后一句话:python -m pip install --upgrade pip
?
? ?3.把上面对应的提示照着敲一遍就可以了
?
1.3.1 pip出现异常
有一小部分童鞋在打开cmd输入pip后出现下面情况:Didnot provide a command
Did not provide a command?这是什么鬼?
正常情况应该是酱紫
?
1.3.2 解决办法
1.pip是一个.exe的可执行文件,在cmd输入pip.exe就可以解决了。
?
2.所以在后面的安装指令中都需要带上后缀,那么问题来了,为什么会出现这种情况,如何彻底解决?
1.3.3 配置环境变量
1.主要原因是环境变量的PATHEXT里面缺少.EXE的文件名
2.在PATHEXT下编辑后面加上;.EXE(注意分号是英文的)
?
3.环境变量配置好了后,关掉cmd,重新打开输入pip试试(要是这一步还不能解决,继续往下看)
1.3.4 必杀技
1.找到pip所在的文件目录打开
?
2.在文件夹地址栏输入cmd,回车。
?然后在打开的窗口输入pip(或pip.exe)试试吧
1.3.5 绝杀技能
打开cmd(快捷键:win+r),cd到pip所在的目录,如D:\test\python2\Scripts
>d:
>cd d:/test/python2/Scripts
>pip
?
?(要是看到这里,还没解决,你这台电脑可以砸了!!!)
前言
selenium2启动Chrome浏览器是需要安装驱动包的,但是不同的Chrome浏览器版本号,对应的驱动文件版本号又不一样,如果版本号不匹配,是没法启动起来的。
?#############最佳环境搭配#####################
小编环境:selenium2.53.6+Chrome版本V49.0+chromedriverv2.22
(根据小编经验selenium2搭配Chrome版本40-50比较好,版本太高了会各种奇葩问题的)
###########################################
1.4.1 Chrome遇到问题
1.如果在启动chrome浏览器时候,出现如下界面,无法打开网址,那么首先恭喜你,踩到了坑,接下来的内容或许对你有所帮助。
>># coding:utf-8
>>from selenium import webdriver
>>driver = webdriver.Chrome()
>>driver.get("http://www.cnblogs.com/yoyoketang/")
?
1.4.2 查看版本号
1.查看Chrome版本号,设置>关于,查出来版本号是49.0
?
2.查看chromedriver.exe版本号,双击这个文件就可以了,查出来版本号是V2.9
3.很显然是chromedriver的版本号过低了,于是可以找个更高级的版本:V2.22
?
1.4.3 chromedriver
1.确保chromedriver.exe文件在path路径下,这里我放到Python的根目录了(python根目录已配置到path了)
?
2.确保驱动文件名称是chromedriver.exe,如果名称后面带版本号的,改下文件名称就行。
3.Chrome版本V49.0+chromedriverv2.22
?
1.4.4 各版本匹配表
chromedriver版本??? 支持的Chrome版本
v2.29 ? ? ? ? ? ? ? ? v56-58
v2.28? ? ? ? ? ? ? ? ?v55-57
v2.27?? ? ? ? ? ? ? ? v54-56
v2.26? ? ? ? ? ? ? ? ?v53-55
v2.25? ? ? ? ? ? ? ? ?v53-55
v2.24 ? ? ? ? ? ? ? ? v52-53
v2.23 ?? ? ? ? ? ? ? ?v51-53
v2.22 ?? ? ? ? ? ? ? ?v49-52
v2.21 ?? ? ? ? ? ? ? ?v46-50
v2.20 ? ? ? ? ? ? ? ? v43-48
v2.19 ? ? ? ? ? ? ? ? v43-47
v2.18 ? ? ? ? ? ? ? ? v43-46
v2.17 ? ? ? ? ? ? ? ? v42-43
v2.13 ? ? ? ? ? ? ? ? v42-45
v2.15 ? ? ? ? ? ? ? ? v40-43
v2.14 ? ? ? ? ? ? ? ? v39-42
v2.13 ? ? ? ? ? ? ? ?v38-41
v2.12 ? ? ? ? ? ? ? ?v36-40
v2.11 ? ? ? ? ? ? ? ?v36-40
v2.10 ? ? ? ? ? ? ? ?v33-36
v2.9 ? ? ? ? ? ? ? ? ?v31-34
v2.8 ? ? ? ? ? ? ? ? ?v30-33
v2.7 ? ? ? ? ? ? ? ? ?v30-33
v2.6 ? ? ? ? ? ? ? ? ?v29-32
v2.5 ? ? ? ? ? ? ? ? ?v29-32
v2.4 ? ? ? ? ? ? ? ? ?v29-32
Chrome浏览器的chromedriver版本驱动大全,下载地址:
http://chromedriver.storage.googleapis.com/index.html
IE浏览器的IEdriver版本驱动大全,下载地址:
http://selenium-release.storage.googleapis.com/index.html
?
?
前言????
在写脚本之前,先要找个顺手的写脚本工具。python是一门解释性编程语言,所以一般把写python的工具叫解释器。写python脚本的工具很多,小编这里就不一一列举的,只要自己用着顺手就可以的,如果你还没有选好解释器,小编这里推荐pycharm。
???? 在安装pycharm后,有一些小伙伴不会破解,这里小编还是推荐大家买正版的。当然,如果你不想付费,想破解pycharm,也是很容易的事情,这里小编列举几种破解办法。前提是你要先下载pycharm安装包,安装包可以去官网http://www.jetbrains.com/pycharm/下载最新版。
1.5.1 pycharm安装
方法一:
????1.在注册界面,选择License serve。填入http://idea.lanyus.com/71?
????2.点击ok