Selenium Python工具包提供了一个简单的API来使用Selenium WebDriver编写功能/验收测试。通过Selenium Python API您可以直接地访问到Selenium WebDriver的所有功能。
Selenium Python工具包提供方便的API去访问Selenium WebDrivers像Firefox, Ie, Chrome, Remote等。现在支持的Python版本是2.7, 3.5和以上版本。
这份文档讲述的是Selenium 2 WebDriver API。 Selenium 1 / Selenium RC API则不在这里讲。
1.2. 下载Selenium的Python工具包
你可以从PyPI网站下载Selenium的Python工具包,当然你最好是用pip命令来安装Selenium包。pip已经在Python3.6的标准库里面,你可以用下面的命令安装selenium。
pip install selenium
你可以考虑用virtualenv创建一个独立的Python环境。Python3.6的pyvenv几乎跟virtualenv的是一样的。
1.3 驱动
Selenium需要一个驱动程序与你选择的浏览器进行交互. 例如Firefox需要geckodriver,在运行下面的例子之前先要安装geckodriver,并且确保它在你系统的path上,例如将它放在/usr/bin或/usr/local/bin中。
如果忽略了这个步骤,将会报错:
selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
其他浏览器的驱动,下面是主流浏览器的驱动。
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下安装
1. 在python.org的下载安装Python3.6
2. 通过cmd.exe进入命令行提示,并运行下面的pip命令来安装selenium。
C:\Python35\Scripts\pip.exe install selenium
现在你可以用Python来执行你的测试脚本。例如你创建了基于Selenium的脚本保存在C:\my_selenium_script.py,你可以通过下面的命令来执行它。
C:\Python35\python.exe C:\my_selenium_script.py
1.5 下载Selenium server
注意
只有你想用远程的WebDriver的时候才会用到Selenium server。可以通过阅读文档(https://selenium-python.readthedocs.io/getting-started.html#selenium-remote-webdriver)来获得详细的介绍。
如果你是初学Selenium,你可以跳过本章直接学习下一章。
Selenium server是用java写的应用程序,java运行环境(JRE)1.6以上的版本才能运行Selenium server。
你可以在(http://seleniumhq.org/download/)下载Selenium server 2.x。它的名字类似于selenium-server-standalone-2.x.x.jar,你可以下载最新版的2.x。
如果你的java运行环境(JRE)还没有安装,先到Oracle的网站去下载(http://www.oracle.com/technetwork/java/javase/downloads/index.html)
如果你使用的是GNU/Linux且拥有root的权限,可以使用操作系统的命令来安装JRE.
如果java命令在你的环境变量路径中,你可以用如下命令来启动Selenium server。
java -jar selenium-server-standalone-2.x.x.jar
把2.x.x替换成你从网站中下载的实际版本。
如果JRE不在环境变量中,执行过程中提示命令不存在或者文件不存在,你可以用java的绝对路径,命令大概如下。
/path/to/java -jar /path/to/selenium-server-standalone-2.x.x.jar