转:python webdriver 环境搭建
第一节 环境搭建
准备工具如下:
-------------------------------------------------------------
下载 python【python 开发环境】
http://python.org/getit/
下载 setuptools 【python 的基础包工具】
http://pypi.python.org/pypi/setuptools
下载 pip 【python 的安装包管理工具】
https://pypi.python.org/pypi/pip
-------------------------------------------------------------
要想使用 python 语言开发, 首先需要 python 开发环境, 需要说明的是 python 目前最新版本分: 2.7.x
和3.3.x(简称 python 2 和 python 3) ;python 3 并非完全的向下兼容 python 2 ,语法上也有较大的
差异。python 3在性能上更加优秀,但由于 python 2多年的发展,大量的类库、框架是基于 python 2,
所以,目前两个版本都在维护更新。笔者推荐新手从 python 2开始学习 python,因为有丰富的资料、类
库和框架给我们学习和使用。当然,随着时间的推移,python 3 才是 python 发展的未来。
setuptools 是 python 的基础包工具,可以帮助我们轻松的下载,构建,安装,升级,卸载 python
的软件包。
pip 是python软件包的安装和管理工具, 有了这个工具, 我们只需要一个命令就可以轻松的python 的
任意类库。
windows 环境安装
第一步、安装 python 的开发环境包,选择需要安装路径进行安装,笔者下载的是目前最新的
python2.7.5版本,安装目录为:C:\Python27。
第 二 步 、 安 装 setuptools 通 过 前 面 提 供 的 setuptools 的 连 接 , 拖 动 页 面 到 底 部 找 到 ,
setuptools-1.3.2.tar.gz 文件(版本随着时间版本会有更新) ,对文件进行解压,找到 ez_install.py
文件,进入 windows 命令提示(开始--运行--cmd 命令,回车)下执行 ez_install.py:
C:\setuptools-1.3>python ez_install.py
如果提示 python 不是内部或外部命令!别急,去添加一下 python 的环境变量吧!桌面“我的电脑”
右键菜单-->属性-->高级-->环境变量-->系统变量中的 Path 为:
变量名:PATH
变量值:;C:\Python27
第三步、安装 pip ,通过上面提供的链接下载 pip-1.4.1.tar.gz(版本随着时间版本会有更新) ,我
默认解压在了 C:\pip-1.4.1 目录下,打开命令提示符(开始--运行--cmd 命令,回车)进入 C:\pip-1.4.1
目录下输入:
C:\pip-1.4.1 > python setup.py install
再切换到 C:\Python27\Scripts 目录下输入:
C:\Python27\Scripts > easy_install pip
第四步、安装 selenium,如果是电脑处于联网状态的话,可以直接在 C:\Python27\Scripts 下输入
命令安装:
C:\Python27\Scripts > pip install -U selenium
如果没联网,可以通过下载安装:
selenium 下载地址: https://pypi.python.org/pypi/selenium
下载 selenium 2.33.0 (目前的最新版本) ,并解压把整个目录放到 C:\Python27\Lib\site-packages
目录下。
linux 环境安装
下面以 unbuntu 为例进行安装,其它版本的 linux 可能会有所差异,在绝大多数 linux 和 UNIX 系统
安装中(包括 Mac OS X),Python 的解释器就已经存在了。我们需要做的就是打开终端,输入 python 命
令进行验证,这里不再介绍 python 的安装。
第一步、安装:setuptools
root@fnngj-H24X:~# apt-get install python-setuptools
第二步、安装 pip
下载 pip 安装文件,切换到文件目录,对其进行解压:
root@fnngj-H24X:/home/user/python# tar -zxvf pip-1.4.1.tar.gz
切换到解压目录:
root@fnngj-H24X:/home/user/python# cd pip-1.4.1/
进行 pip 的安装
root@fnngj-H24X:/home/user/python/pip-1.4.1# python setup.py install
第三步、安装 selenium
root@fnngj-H24X:/home/user/python/pip-1.4.1# pip install -U selenium
第二节 使用 IDLE 来编写 python
相信上面的配置过程已经让不少新手感到非常繁琐,万事开头难,我们有必要花一点时间在环境的配
置上,因为环境的搭建是后面实施自动化测试的前提。
如果笔者是第一次接触 python 语言且编程能力薄弱,那么笔者建议使用 python 自带的 IDLE 来编写
脚本。为了更好的通过 IDLE 帮助们编写 python+webdriver 脚本,我们需要先了解一下 IDLE。
IDLE 提供了一个功能完备的代码编辑器,允许你在这个编辑器中编写代码,另外还有一个 python
shell(python 的交互模式) ,可以在其中试验运行代码。
第一次启动 IDLE 时,会显示“三个大于号”提示符(>>>) ,可以在这里输入代码。python shell 得
到你的代码语句后会立即执行,并在屏幕上显示生成的结果。如图 2.1
图 2.1
有效地使用 IDLE
IDLE 提供了大量的特性,不过只需了解其中一小部分就能很好地使用 IDLE。
TAB 完成:
先键入一些代码,然后按下 TAB 键。IDLE 会提供一些建议,帮助你完成这个语句。
图 2.2
回退代码语句:
按下 Alt+P,可回退到 IDLE 中之前输入的代码语句,或者按下 Alt+ N 可以移至下一个代码语句。
如图 2.x 按 Alt+P 回退到上一次编辑的代码。
图 2.3
第三节 第一个自动化脚本
有了上面的环境,你一定很迫切想要编写并运行一个自动化脚本,下面就来体验一下 python 与
wegdriver 结合之后编写的脚本是多么简洁:
如果是 windows 用户,在开始菜单找到 python 目录,打开 IDLE(python GUI)程序,启动的是一个
交互模式。可以输入:from selenium import webdriver
上面的命令为导入 selenium 的相关包,如果回车后没有报错表示我们的 selenium 安装是成功的。
图 2.4
下面通选择菜单栏 File--->New Windows 或通过快捷键 Ctrl+N 打开新的窗口。输入以下代码:
# coding = utf-8
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://www.baidu.com")
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
browser.quit()
输入完成后命令为 baidu.py 保存,按 F5 快捷键运行脚本,将看到脚本启动 Firefox 浏览器进入百度页,
输入“selenium” 点击搜索按钮,最后关闭浏览器的过程。 (这里默认读者已经安装了 Firefox 浏览器)
我们后面的脚本也将会在这个编辑器下完成,在你还没找到更好的编辑器之前。
代码解析:
# coding = utf-8
为了防止乱码问题,以及方便的在程序中添加中文注释,把编码统一成 UTF-8。
from selenium import webdriver
导入 selenium 的 webdriver 包,只有导入 webdriver 包我们才能使用 webdriver API 进行自动化脚本
的开发。 import 所引入包,更专业的叫法为:模组(modules)
browser = webdriver.Firefox()
需要将控制的 webdriver 的 Firefox 赋值给 browser;获得了浏览器对象才可以启动浏览器,打开网
址,操作页面严肃,Firefox 是默认已经在 selenium webdriver 包里了,所以可以直接调用。当然也可
以调用 Ie 或 Chrome ,不过要先安装相关的浏览器驱动才行。
browser.get("http://www.baidu.com")
获得浏览器对象后,通过 get()方法,可以向浏览器发送网址。
browser.find_element_by_id("kw").send_keys("selenium")
关于页面元素的定位后面将会详细的介绍,这里通过 id=kw 定位到百度的输入框,并通过键盘方法
send_keys()向输入框里输入 selenium 。多自然语言呀!
browser.find_element_by_id("su").click()
这一步通过 id=su 定位的搜索按钮,并向按钮发送单击事件( click() ) 。
browser.quit()
退出并关闭窗口的每一个相关的驱动程序。
第四节 安装浏览器驱动
WebDriver 支持 Firefox (FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver) 和
Chrome (ChromeDriver) 。 对 Safari 的 支 持 由 于 技 术 限 制 在 本 版 本 中 未 包 含 , 但 是 可 以 使 用
SeleneseCommandExecutor 模拟。它还支持 Android (AndroidDriver)和 iPhone (IPhoneDriver) 的移动
应用测试。它还包括一个基于 HtmlUnit 的无界面实现,称为 HtmlUnitDriver。
各个浏览器驱动下载地址:
https://code.google.com/p/selenium/downloads/list
转:python webdriver 环境搭建的更多相关文章
- python webdriver 环境搭建详解
		
学了一个月用java编写selenium driver 测试脚本,也将公司做的系统基本可用的模块做了一次自动化,虽然写的比较简陋,但是基本可用跑一遍,并用testNG生成了测试报告. 学习方式无非是: ...
 - Windows环境下,python webdriver环境搭建
		
最近刚开始学习selenium,这是我从虫师的<selenium2自动测试实战--基于Python语言>这本书上学到搭建环境的步骤,里面有加上我的一些总结,希望对大家有所帮助! 准备工 ...
 - 二. Python WebDriver环境搭建
		
1. 安装Selenium 在命令行中输入: 显示安装成功: 2. 测试例子 打开百度页面并在输入框输入搜索内容(默认为firework) # 1. Selenium默认为Firefox.验证 fro ...
 - python webdriver环境搭建
		
一.准备安装包 1.下载python 2.下载setuptools 3.下载pip 二.windows环境安装 1.安装python,建议选择python2.7.5版本. 2.安装setuptools ...
 - Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接
		
今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...
 - selenium + python 自动化测试环境搭建
		
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
 - Python + Appium 环境搭建
		
---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1 安装前准备工作 搭建环境所需要的安装文件已经下载好 ...
 - 自动化测试 Appium之Python运行环境搭建 Part2
		
Appium之Python运行环境搭建 Part2 by:授客 QQ:1033553122 实践环境 参见 Appium之Python运行环境搭建 Part1 环境部署 1.安装Android SDK ...
 - selenium+python爬虫环境搭建
		
前言: 准备使用selenium爬取网站数据,先搭建selenium+python爬虫环境搭建 系统环境: 64位win10系统,同时装python2.7和python3.6两个版本,IDE为pych ...
 
随机推荐
- P1434 滑雪
			
水题,记忆化搜索,队列bfs均可 我们定义f[i][j]为到(i, j)的最长路径.然后就不难得出状态转移方程,然后使用无脑dfs,或者有脑递推都是可以的. #include <bits/std ...
 - javascrpt 继承
			
一.基于原型链方式实现的继承 缺点:无法从子类中调用父类的构造函数,所以没有办法把子类的属性赋值到父类中. 如果父类中有引用类型,例如:数组.此时这个引用类型会添加到子类的原型当中,一但子类某个对象修 ...
 - cookie函数
			
function getcookie(){ var cookie={}; var all=document.cookie; if(all===""){ alert(2); retu ...
 - window对象;document对象;
			
window对象: DOM:文档对象模型 --树模型文档:标签文档,对象:文档中每个元素对象,模型:抽象化的东西 一:window: 属性(值或者子对象):opener:打开当前窗口的源窗口,如果当前 ...
 - 数据库里any 和 all 的区别
			
any 是任意一个all 是所有 比如select * from student where 班级='01' and age > all (select age from student whe ...
 - Bluetooth L2CAP介绍
			
目录 1. 通用操作 1. L2CAP Channel 2. 设备间操作 3. 层间操作 4. 操作模式 2. 数据包格式(Data Packet Format) 1. B-Frame 2. G-Fr ...
 - 转:php 获取时间今天明天昨天时间戳
			
<?php echo "今天:".date("Y-m-d")."<br>"; echo "昨天:".d ...
 - Cocos2d-JS cc.DrawNode用法
			
app.js var HelloWorldLayer = cc.Layer.extend({ sprite:null, ctor:function () { ///////////////////// ...
 - 默认的app.js
			
我们通过npm start 默认入口是app.js,如果想默认入口改为main.js,可以修改项目下的/bin/www文件把app修改main var app = require('../app');
 - 20145211 《Java程序设计》实验报告五————Java网络编程及安全实验报告
			
实验内容 1.掌握Socket程序的编写: 掌握密码技术的使用: 设计安全传输系统. 实验步骤 这一部分是与我的partner合作的,详见他的博客- [20145326 <Java程序设计> ...