首页 > 代码库 > Selenium WebDriver + Python 环境配置
Selenium WebDriver + Python 环境配置
1. 下载必要工具及安装包
1.1.【Python开发环境】
下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2)
下载地址:https://www.python.org/downloads/
1.2.【python 的安装包管理工具】Pip
pip 是python 软件包的安装和管理工具,有了这个工具,我们只需要一个命令就可以轻松的python 的任意类库。
下载地址:
https://pypi.python.org/pypi/pip
(直接拖动到页面最下方进行下载tar.gz包|MD5是文件校验)
注:或者下载下面链接文件(安装需要联网)
https://bootstrap.pypa.io/get-pip.py
1.3.【python 的基础包工具】setuptools
setuptools 是python 的基础包工具,可以帮助我们轻松的下载,构建,安装,升级,卸载python的软件包。
下载地址:
http://pypi.python.org/pypi/setuptools
(直接拖动到页面最下方进行下载tar.gz和zip包都可以|MD5是文件校验)
注:或者如果你是Win7系统可以直接下载下面链接文件(安装需要联网)
https://bootstrap.pypa.io/ez_setup.py
1.4.【Python for Selenium安装包】
主要是让集成了Selenium WebDriver的API。
下载地址:
https://pypi.python.org/pypi/selenium
2. 环境安装
因为当前我使用的window环境,所以这里只介绍window环境,如果你已经会使用Linux系统,相信Linux下面安装对你也没什么难度,安装方式都是一样的。
2.1.安装python环境:
双击下载的python for window安装包python-2.7.8.msi,下一步——下一步....即可,默认安装目录在C:\Python27,安装完成后要配置Python环境变量。(如下图)
在系统环境 path中加入python安装路径即可:
(此步骤很关键,不设置会导致其它工具包无法完成安装,因为所有工具包都使用python命令来完成的,为减少麻烦安装完Python后立即设置环境变量)
2.2.安装pip
(选择任意方式即可)
方式一:
解压下载好的安装包,cmd窗口中进入解压目录使用下面命令进行安装
D:\Downloads\setuptools-5.7>python setup.py install
然后进入C:\Python27\Scripts目录中执行下面命令
C:\Python27\Scripts > easy_install pip
方式二:
使用下载好的get-pip.py进行安装
D:\Downloads>python get-pip.py
2.3.安装setuptools
(选择任意方式即可)
方式一:
解压下载好的安装包,cmd窗口中进入解压目录使用下面命令进行安装
D:\Downloads\setuptools-5.7>python setup.py install
方式二:
WIN7系统进入下载好的ez_setup.py目录中运行下面命令进行自动在线下载安装
D:\Downloads\setuptools-5.7>python ez_setup.py
方式三:
进入pip所在安装目录执行下面命令可以在线安装
C:\Python27\Scripts >pip install -U setuptools
2.4.安装selenium
方式一:
进入pip所在安装目录执行下面命令可以在线安装
C:\Python27\Scripts >pip install -U selenium
方式二:
把下载好的selenium包解压并将整个目录放到C:\Python27\Lib\site-packages 目
录下。
==============================================================================
至此Windows系统下Selenium Webdriver + Python环境安装完毕
==============================================================================
使用Linux的朋友安装方式除了python安装稍有不同,其它包安装方式都是一样的,包括命令都是一样的,就不再述了。
3. 脚本初体验
为了验证我们的环境是否可用,使用一个简单的脚本来演示下。就像我们初次接触开始时写的第一个次代码“hello world”一样。
(脚本中我使用的Firefox浏览器,因为IE浏览器需要装WebDriverIE插件IEDriverServer)初体验后介绍怎么安装使用。
3.1.编辑脚本
创建一个记事本文件,命名为openbaidu.py(名称可以自定义)
在文档中输入一下内容并保存:
3.2.运行脚本
打开cmd命令窗口,进入openbaidu.py所在目录运行下面命令:
D:\pub\workspace\py_selenium>python openbaidu.py
脚本运行后会自动打开Firefox浏览器,并且进入百度首页,自动输入“selenium”进行搜索,等待5秒钟后,自动关闭页面。
切换到CMD命令窗口,会看到命令行中同时输出了一行百度首页的title。
D:\pub\workspace\py_selenium>python openbaidu.py
百度一下,你就知道
D:\pub\workspace\py_selenium>
至此我们第一次体验也就完成了,下面来解析一下脚本内容:
#为防止我们在脚本中使用中文出现乱码,进行脚本转码,您在写的时候把它当作习惯写在代码第一行。
# -*- coding: utf-8 -*-
#引入我们的selenium的 webdriver包,这样我们就可以使用Webdriver API进行自动化脚本的开发。
from selenium import webdriver
#引入python的time包,可以用来获取系统时间,控制脚本运行中等待时间等。
import time
获取Firefox浏览器对象
driver = webdriver.Firefox()
调用get方法来打开百度的url地址
driver.get("http://www.baidu.com")
#通过id=kw定位搜索框界面元素,在调用clear()方法来清除搜索框内容(find_element_by_id是通过id方式定位界面元素的,定位元素方法很多种,这里使用id来定位其它方法,以后再介绍)
driver.find_element_by_id("kw").clear()
#通过send_keys方法来,发送我们要搜索的内容 "selenium"(同样还需先定位搜索框元素)
driver.find_element_by_id("kw").send_keys("selenium")
#通过id=su定位搜索按钮,并通过click()方法进行提交搜索。
driver.find_element_by_id("su").click()
#打印当前浏览器页面中的title
print driver.title
#等待5秒,只脚本在这里停留5秒后再向下执行
time.sleep(5)
#退出并关闭浏览器窗口程序
driver.quit()
通过上面内容我们基本见识了下python的语法,是多么的人性化的语言。
clear()清除 send_keys() 发送关键字 click()点击 sleep()休眠 quit()退出
看到这些后,是不是感觉很easy,其实只要你学会python,一切都会变得更简单,python真的是个无所不能的语言,试试看你的第一个脚本吧。
4. 浏览器插件下载与安装
WebDriver 支持Firefox (FirefoxDriver)、IE (IEDriverServer)、Opera (OperaDriver) 和
Chrome (ChromeDriver) 。它还支持Android (AndroidDriver)和iPhone (IPhoneDriver) 的移动应用测试。
4.1. 下载地址
各个浏览器驱动下载地址:
https://code.google.com/p/selenium/downloads/list
上面链接中没用IEDriverServer了,进下面地址也可以下载
http://download.csdn.net/download/tsbc520/7812523
或者百度、Google搜索其它地方下载也可以。
4.2.安装使用
下载后将解压的IEDriverServer.exe或者ChromeDriver.exe放置Python目录(C:\Python27\目录下)中就可以在脚本中直接调用了。
我们替换上面在Firefox浏览器中运行的脚本例子:
driver = webdriver.Firefox()
替换为:
driver = webdriver.Ie()
或
driver = webdriver.Chrome()
(如果IE下启动有问题,试试改一下IE浏览器安全选项中的保护模式,四个选项全部改成统一的模式,全“启用”或者全“不启用”)
Selenium WebDriver + Python 环境配置