多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## **一、selenium介绍** selenium主要用于web应用程序的自动化测试,还支持所有基于web的管理任务自动化。 selenium经历了2个版本,selenium1.0和selenium2.0;selenium不是一个单独的工具,而是由一些插件、类库构成,每个组成部分都有其特点和应用场景。 selenium2.0由以下组件构成: ![UTOOLS1595317922767.png](http://yanxuan.nosdn.127.net/00c45e4bbe94ae996b93b875a96031e3.png) **selenium2.0 = selenium1.0 + Webdriver** **Webdirver:** 通过原生浏览器支持或扩展来直接控制浏览器,针对各个浏览器开发,与浏览器紧密集成,支持创建更高级的测试,其还可以利用操作系统级的调用,模拟用户输入; **selenium IDE:** 嵌入到Firefox浏览器中的一个插件,实现简单的浏览器操作录制与回放功能,主要用于快速创建BUG及重现脚本,可转化为多种语言; **selenium Gird:** 测试辅助工具,利用现有的计算机基础设施,实现多台计算上和异构环境中运行测试用例; **selenium RC:** selenium的核心组件,支持多种不同语言编写自动化测试脚本,通过其服务器作为代理服务器去访问应用,达到测试的目的;  **Client Libraries:** Client Libraries库主要用于编写测试脚本,用来控制Selenium Server的库;   **Selenium Server:** 负责控制浏览器行为;  **Selenium Core**(一个JavaScript函数集合):被嵌入到浏览器中,通过它实现用程序对浏览器进行操作;  **Launcher**:用于启动浏览器,把Core加载到浏览器页面当中,并把浏览器代理设置为Selenium Server的**HTTP Proxy**; ## **二、环境搭建** ### **1、安装python** 登录[python官网](https://www.python.org/ "python官网"),找到download,选择与自身平台(Windows/Linux)相符的版本下载(建议3.5+),然后安装即可; * **注意:** 安装时选择安装界面的“Add Python 3.x to PATH”进行勾选,避免再次配置环境变量; 安装完成后通过Windows命令提示符CMD输入“python”,查看是否安装成功,如下图所示: ![](https://i.niupic.com/images/2020/08/10/8vZ3.png) 如上图所示,则证明安装成功; ### **2、安装setuptools与pip** setuptools是PEAK(Python enterprise Application Kit)的一个副项目,是python的distutilsde的增强工具,可以更方便创建和发布python包,特别是对其他包有依赖的情况; pip是一个安装和管理python包的工具,通过pip来安装python包将变得很简单,省去了繁琐的过程,pip的安装依赖于setuptools,安装pip之前需要先安装setuptools; **注意:** python目前不支持setuptools,因此需要使用distribute; * setuptools与pip的下载地址如下: * setuptools:[https://pypi.python.org/pypi/setuptools](https://pypi.python.org/pypi/setuptools) * pip:[https://pypi.python.org/pypi/pip](https://pypi.python.org/pypi/pip) **注意**: 最新版的python安装包中已经集成了pip,可以在安装目录下的script路径下查看是否有pip.exe或pip3.exe文件,如果有,则cmd命令行中输入pip进行验证; ![](http://images2017.cnblogs.com/blog/983980/201707/983980-20170727003447921-848357286.png) 如上图所示,则证明已经安装pip; ### **3、安装selenium** 完成上面2个步骤之后,可以通过cmd命令直接安装selenium包,如下图所示: ![](http://images2017.cnblogs.com/blog/983980/201707/983980-20170727003952734-1034904163.png) * **注意:** 安装时如果只输入包名,则默认安装当前库中的最新版本,如果想安装自己需要的版本,则需要在包名后面加上版本号,比如:pip install selenium==2.48.0 ### **4、下载浏览器驱动** 前面说过,selenium支持多种浏览器,所以只需要下载对应的浏览器驱动,将解压得到的exe文件放到python的安装目录下即可; 当selenium升级到3.0之后,对不同的浏览器驱动进行了规范。如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动。 各浏览器下载地址: ``` Firefox浏览器驱动:[geckodriver](https://github.com/mozilla/geckodriver/releases) Chrome浏览器驱动:[chromedriver](https://sites.google.com/a/chromium.org/chromedriver/home),[taobao备用地址](https://npm.taobao.org/mirrors/chromedriver) IE浏览器驱动:[IEDriverServer](http://selenium-release.storage.googleapis.com/index.html) Edge浏览器驱动:[MicrosoftWebDriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver) Opera浏览器驱动:[operadriver](https://github.com/operasoftware/operachromiumdriver/releases) PhantomJS浏览器驱动:[phantomjs](http://phantomjs.org/) ``` ### **5、设置浏览器驱动** 设置浏览器的地址非常简单。 我们可以手动创建一个存放浏览器驱动的目录,如: C:\\driver , 将下载的浏览器驱动文件(例如:chromedriver、geckodriver)丢到该目录下。 我的电脑-->属性-->系统设置-->高级-->环境变量-->系统变量-->Path,将“C:\\driver”目录添加到Path的值中。 * Path * ;C:\\driver <br/> **验证不同的浏览器驱动是否正常使用** ``` from selenium import webdriver driver = webdriver.Firefox() # Firefox浏览器 driver = webdriver.Chrome() # Chrome浏览器 driver = webdriver.Ie() # Internet Explorer浏览器 driver = webdriver.Edge() # Edge浏览器 driver = webdriver.Opera() # Opera浏览器 driver = webdriver.PhantomJS() # PhantomJS …… ``` ### **6、调试** 打开一款python编译器,输入下面的代码,运行,查看是否成功调用浏览器运行,如果运行成功,则说明已成功搭建好自动化开发环境; ``` from selenium import webdriver driver = webdriver.Chrome("G:\py\chromedriver.exe") driver.get("http://www.baidu.com") ``` **备注:** ``` 如果报错 AttributeError Issue: module 'selenium.webdriver' has no attribute 'Chrome' 将 driver = webdriver.Chrome("G:\py\chromedriver.exe") 改为 driver = webdriver.chrome.webdriver.WebDriver(executable_path='G:\py\chromedriver.exe') 解决方法: 1.浏览器驱动文件,(win环境下载解压后得到的.exe文件)需要放到与python.exe同级目录中方能使用。 这个方法可行。 2.将脚本重命名 ```