Selenium Python 安装指导
最近无聊。又重新装了个selenium
果然时代变了。安装的时候的方法和以前不太一样了。因此觉得有必要单列出来加以说明
另外备注:测试小伙伴们。安装此类工具报错。尝试以下两个方案之一:
1.请转stackoverflow
2.code review
下面以第二种方法解决安装问题
如果你还看的是非官方文档的安装使用方法。而是某些旧社会的博客。那么很可能你就这样中奖了。
正确的安装姿势应该是这样的(以 chrome + python + selenium 为例):
1. 打开 https://chromedriver.storage.googleapis.com/index.html
2. 找到最新版本(备注:2.30代表的版本大于2.9.此处2.9相当于2.09.不得不吐槽一下这个版本号设定)
3. 下载对应版本(备注:windows平台下。没有64位exe插件。但是32位的可以兼容64位)
4. 确认已安装的python版本(大于selenium标注的版本。一般而言最新版是向下兼容3.x的版本的。)
5. 自己下载selenium包 或者使用 pip install selenium 命令解决问题
至此。安装已经完成(感觉比当年用的时候要更快)
接下来是使用的方法:
A. 示例代码
B. 内容说明
1. 第八行必须传入executable的值。(即将截图中代码第八行改为: driver = webdriver.Chrome(executable).)
此处由于早先的selenium的设计模式。之前selenium是通过环境变量设置来识别执行路径的。
现在源码的相关部分已经更改。因此使用selenium也无需配置环境变量了。
2. 第十行必须使用完整的url链接(url包含前缀http://或https://)。否则无法解析域名
C. 针对B1的附加说明
找出这个问题。首先看报错内容(不传递绝对路径,即driver = webdriver.Chrome()):
然后查看源码。可以发现。构造方法(def __init__)中。只有executable是没有默认值的。因此必须在使用webdriver.Chrome的时候传递路径以初始化该变量。否则报错。
这样做的好处就是。在使用selenium的时候,多个浏览器再也不用分别配置环境变量了。把所有的驱动程序放在项目文件目录中。只需要在启动的时候设定指向位置即可
当然。也可以改动源码。给这个变量一个default值。因此其他浏览器的使用就不多加说明了。
最后。用driver来做声明变量其实并不是特别好的设计模式。如果selenium要做自动化的话,脚本必须封装为函数
调用则使用类似unittest框架的东西来做,这样的话,内部变量基本上会使用如下写法
# 初始化函数
def setUp(self):
self.browser = webdriver.Chorme(executable)
# 执行脚本
def test_case1(self):
self.browser.get('http://www.baidu.com')
......
这样做,就可以保证环境和数据配置。并且可以使用很多现有的方法。是比较推荐的写法。
如果有进阶的兴趣。推荐去看《python web开发测试驱动方法》。对于初学者理解功能测试模式还是很有帮助的。
Selenium Python 安装指导的更多相关文章
- selenium + python自动化测试环境搭建
selenium的在python平台的搭建: 搭建平台windows 准备工具如下: --------------------------------------------------------- ...
- Page Object Model (Selenium, Python)
时间 2015-06-15 00:11:56 Qxf2 blog 原文 http://qxf2.com/blog/page-object-model-selenium-python/ 主题 Sel ...
- selenium + python 多浏览器测试
selenium + python 多浏览器测试 支持库包 在学习 Python + Selenium 正篇之前,先来看下对多浏览器模拟的支持.目前selenium包中已包含webdriver,hel ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- <译>Selenium Python Bindings 5 - Waits
如今,大多数的Web应用程序使用AJAX技术.当页面加载到浏览器,页面中的元素也许在不同的时间间隔内加载.这使得元素很难定位,如果在DOM中的元素没有呈现,它将抛出ElementNotVisibleE ...
- <译>Selenium Python Bindings 2 - Getting Started
Simple Usage如果你已经安装了Selenium Python,你可以通过Python这样使用: #coding=gbk ''' Created on 2014年5月6日 @author: u ...
- <译>Selenium Python Bindings 1 - Installation
Installation Introduction Selenium Python bindings 提供了一个简单的API来使用Selenium WebDriver编写使用功能/验收测试.通过Sel ...
- selenium python 第一个脚本
为什么选择python?我的回答很简单,简单易学,功能强大! 下面看看python和selenium 2的结合是什么样子吧 一.第一个selenium python脚本: #coding = utf- ...
- selenium + python自动化测试环境搭建--亲测
环境准备: 1.下载所学安装包: setuptools https://pypi.python.org/packages/2.7/s/setuptools/ selenium https://pypi ...
随机推荐
- 使用.NET Core在RESTful API中进行路由操作
介绍 当列出REST API的最佳实践时,Routing(路由)总是使它位于堆栈的顶部.今天,在这篇文章中,我们将使用特定于.NET Core的REST(web)API来处理路由概念. 对于新手API ...
- firefox被hao123绑架的解决办法
1.在地址栏里输入"about:support" 2.单击配置文件夹后的"打开文件夹"按钮. 3.在弹出来的文件夹中找到那个叫做"user.js&qu ...
- 使用duilib开发简单的Window安装包
一.具体思路 安装过程:安装包的制作包括资源文件的打包,资源文件打包到安装包exe中,安装的时候需要从exe中提取出对应的资源文件, 然后解压文件安装到指定目录,然后就是对安装的可执行程序进行注册表的 ...
- Openstack的打包方法
使用setup.cfg和setup.py进行管理 1.setup.py文件内容 # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO ...
- FPGA调试光纤模块
利用FPGA调试光纤接口接口: 由于与项目需要,前段时间调试了光纤接口,记录一些设计经验. 设计中采用FPGA控制光纤模块完成光纤数据的收发,FPGA采用Xilinx公司的Spartan6 LX45T ...
- SSH框架的多表查询(方法二)增删查改
必须声明本文章==>http://www.cnblogs.com/zhu520/p/7773133.html 一:在前一个方法(http://www.cnblogs.com/zhu520/p ...
- C++ 将汉字转换成拼音全拼
#include <string> using std::string; //======================================================= ...
- 纯Socket(BIO)长链接编程的常见的坑和填坑套路
本文章纯属个人经验总结,伪代码也是写文章的时候顺便白板编码的,可能有逻辑问题,请帮忙指正,谢谢. Internet(全球互联网)是无数台机器基于TCP/IP协议族相互通信产生的.TCP/IP协议族分了 ...
- LogCook 一个简单实用的Android日志管理工具
众所周知,日志的管理是软件系统很重要的一部分,千万不可忽略其重要性.完整的日志将会在系统维护中起着异常重要的作用,就好像磨刀不误砍柴工一样,日志就像对系统进行分析的工具,工具便捷了,对系统分析起来就能 ...
- # WPF动画速率效果
在WPF中使用动画的情况非常多,而要让动画变得生动往往要使用一些变速动画,WPF也内置了很方便的缓动函数来实现这一功能. 除此之外,WPF还有关键帧动画,利用关键帧动画能够很好的控制动画的细节,与美工 ...