[译]Selenium Python文档:一、安装
1.1.简介
Selenium Python为使用Selenium WebDriver来编写功能/验证测试提供了一个简单的API接口。通过Selenium Python API,你可以以一种非常直观的方式来访问Selenium WebDriver的所有功能。
Selenium Python为访问诸如火狐、IE、Chrome等浏览器的Selenium WebDriver提供了一个简便的API接口,当前该支持Python2.7,3.5+。
本文档仅仅介绍Selenium2 WebDriver的API,Selenium1/Selenium RC的API不包含在内。
1.2.下载Selenium Python
你可以通过 浏览器访问PyPI -selenium 包来下载Selenium Python。但更推荐使用pip工具来安装selenium包。Python3.6标准库中自带pip,Python2.x需要自己单独安装。使用pip的话,你可以像下面这样来安装selenium:
$pip install selenium
你也可以考虑使用 virtualenv 来创建隔离的Python环境。Python3.6使用pyvenv ,它和virtualenv差不多。
1.3.驱动器(Driver)
要和选定的浏览器进行交互,Selenium需要一个驱动器。比如,如果选择使用火狐浏览器,需要 geckodriver。为了保证后文的实例能够正常运行,你先要正确安装对应的驱动器,并确保它在你系统的PATH路径中。比如,如果使用*niux系统,可以将其安装在/usr/bin 或者/usr/local/bin,或者将驱动器执行文件所在的文件夹加入PATH。
如果忽略这一步的话,你将会得到下面的这样一个错误:
selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
Selenium支持的其他浏览器都有其对应的驱动器,可以通过下面的连接查阅你喜欢的浏览器的相应信息:
| Chrome: | https://sites.google.com/a/chromium.org/chromedriver/downloads |
| Edge: | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ |
| Firefox: | https://github.com/mozilla/geckodriver/releases |
| Safari: | https://webkit.org/blog/6900/webdriver-support-in-safari-10/ |
1.4.针对Windows用户的详细介绍
注意:要实际完成下面的安装操作,你的系统需要保证能正常联网
- 通过 Python.org可用MSI下载页面安装Python3.6.
- 使用
cmd.exe程序开启一个命令提示符,像下面这样通过pip来安装selenium(假设你把Python安装到了C盘的根目录):
C:\Python35\Script\pip.exe install selenium
现在你可以使用Python来运行你的测试脚本。例如,你已经编写了一个基于Selenium的脚本并将其保存在C:\my_selenium_script.py,你可以像下面这样来运行它:
C:\Python35\python.exe C:\my_selenium_script.py
1.5.下载Selenium server
注意:只有当你想要使用远程Web驱动器的时候才需要Selenium server。查阅 Using Selenium with remote WebDriver章节来获得更多详细信息。如果你只是Selenium的初学者,你可以跳过本节继续阅读下一章。
Selenium server是一个Java程序,需要先安装Java运行时环境(JRE),推荐使用JRE1.6或更新的版本。
你可以从 selenium 网站下载页下载Selenium server 2.x。文件名应该像selenium-server-standalone-2.x.x.jar这样。下载Selenium server的最新2.x版本即可。
如果你的系统尚未安装Java运行时环境(JRE),你可以通过 Oracle 官网下载。如果你正在使用一个GNU/Linux系统并具有系统的root权限,也可以使用你操作系统相应的命令来安装JRE。
如果java命令存在于PATH(环境变量),你可以使用下面的命令来启动Selenium server:
java -jar selenium-server-stanalone-2.x.x.jar
使用你从网站下载的Selenium server的实际版本替换2.x.x
如果JRE是通过一个非root用户安装的,或者不在PATH(环境变量中),你可以通过相对或绝对地址来运行java命令。相似的,你也可提供Selenium server jar文件的绝对或相对地址。接着,命令将会变成下面这样:
/path/to/java -jar /path/to/selenium-server-standalone-2.x.x.jar
[译]Selenium Python文档:一、安装的更多相关文章
- [译]Selenium Python文档:目录
作者:Baiju Muthukadan 协议:本文档采用知识共享署名 - 共享4.0国际许可. 原英文网址:http://selenium-python.readthedocs.io/index.ht ...
- [译]Selenium Python文档:八、附录:FAQ常见问题
另外一个FAQ:https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions 8.1.怎样使用ChromeDriver ...
- [译]Selenium Python文档:二、初步开始
2.1.简单使用 如果已经安装好了Selenium Python,你就可以像下面这样编写Python代码来使用它了: from selenium import webdriver from selen ...
- [译]Selenium Python文档:四、元素定位
要定位一个页面中的元素有多中策略和方法.你可以根据实际情况选择其中最为合适的.Selenium为定位页面元素提供了下面的这些方法: find_element_by_id(使用id) find_elem ...
- [译]Selenium Python文档:七、WebDriver API接口
由于API文档格式不太适合cnblog博客,暂且翻译一部分,且暂未校对 注意:这不是官方文档,官方 API文档在这里. 本章包含Selenium WebDriver的所有接口 推荐import风格 本 ...
- [译]Selenium Python文档:五、Waits等待
大多数现代web应用都使用了AJAX技术.当浏览器加载一个页面的时候,该页面内的元素可能在不用的时间间隔内进行加载.这使得元素定位变得比较困难:如果一个元素还没有出现在DOM中,定位函数将会抛出一个E ...
- [译]Selenium Python文档:六、页面对象
本章是介绍页面对象设计模式的教程.一个页面对象代表了web应用用户接口的一片区域,你的测试代码将与之交互的. 使用页面对象模式的好处: 可以创建在多个测试样例中都可使用的可重用代码 减少重复性代码 如 ...
- [译]Selenium Python文档:三、导航控制
你使用WebDriver要做的第一件事就是访问一个链接.一般通过调用get方法来实现: driver.get("http://www.baidu.com") 在将控制权返给你的脚本 ...
- 基于 Python 官方 GitHub 构建 Python 文档
最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实 ...
随机推荐
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- [转载]【虚拟化系列】VMware vSphere 5.1 简介与安装
转载自:http://mabofeng.blog.51cto.com/2661587/1017680 一. VMware vSphere 5.1简介 vSphere是VMware推 ...
- ubuntu16.04无法设置选择wifi的解决办法
在公司上班一直连接的有线,直到昨天拿回家才发现ubuntu无法选择使用wifi上网,这让人非常无奈,截图类似如下: 而正常情况下我们应该在启用联网的下面有wifi链接的选项,如图: 我隐约猜测是和驱动 ...
- Activity启动过程分析
Android的四大组件中除了BroadCastReceiver以外,其他三种组件都必须在AndroidManifest中注册,对于BroadCastReceiver来说,它既可以在AndroidMa ...
- 打开phpmyadmin显示高级功能尚未完全设置部分功能未激活
问题:老师,打开phpmyadmin显示高级功能尚未完全设置部分功能未激活,应该如何解决? 这是前一阵子学生问过我的一个问题,今天我就在博客里解答你的疑问吧. 总共三步可以搞定 1.导入相关文件到数据 ...
- (转)java二维数组的深度学习(静态与动态)
转自:http://developer.51cto.com/art/200906/128274.htm,谢谢 初始化: 1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行:2.静态初始化:在 ...
- 税号输入框 将input框中的输入自动转化成半角大写
这两天出了这么一个需求,输入税号的时候,需要自动将其转化为半角大写,并且阻止标点符号中文汉字的输入.(下面会有:全半角转换.文本框选中.光标位置判断.设置光标位置 这些内容) 然后我就开始了慢慢查找资 ...
- Linux-7.2+LNMP+zabbix-3.2.1
LNMP+zabbix-3.2.1 一.zabbix服务端部署 1.解压 yum –y install bzip2 tar -xf nginx-1.10.1.tar.gz tar -xf php-5. ...
- 【Java基础】 static
static static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念.被 ...
- 用CSS3 做的星体
制作原理:在我的上一篇随笔中有详细的说明,由于这个方法制作的球,比较耗性能,就只做了3个小球,效果大家可以试验. <!DOCTYPE html><html><head l ...