selenuim,英语直译是“硒“的意思,在Python中它是一个自动测试工具。首先,我们先了解一下什么是测试,这对我们了解selenium有帮助。
首先,测试有手动测试和自动测试,黑盒测试和百合测试之分。手动测试就是测试人员手动进行测试,自动测试是利用类似selenium的工具进行自动测试,黑盒测试是测试人员看不到措施对象的源码,直接用成品进行测试,白盒测试是测试员能看到源码,根据源码设计相关的测试方法或工具进行测试。下面,我们主要了解如何安装selenium和用它进行程序自动测试。
1. selenium的安装
首先,为了避免重复安装导致出错,我们要先验证电脑中是否已经安装了selenium,验证方法很简答,在Pycharm中引入它,看是否会报错,如果报错说明没有安装,代码如下:
from selenium import webdriver
其次,在我们验证确定电脑没有安装selenium之后,WIN+R打开系统命令行界面没输入以下指令:pip install selenium 进行工具包安装,提示successfully...表示安装成功。
接着,在我们成功安装selenium之后,我们需要下载浏览器驱动webdriver,这里我们以主流浏览器Google Chrome和Fire Fox为例进行说明:
Google Chrome浏览器需要下载chromedriver,下载地址为:http://npm.taobao.org/mirrors/chromedriver/
Fire Fox浏览器需要下载geckodriver,下载地址为:https://github.com/mozilla/geckodriver/releases
然后,我们要将下载的驱动解压到Anaconda安装路径的Scrpt文件夹中,比如我的Anaconda安装路径是D:\Python\Anaconda,那么我应该把对应的浏览器驱动解压到D:\Python\Anaconda\Scripts中去。
最后,重启编译器Pycharm,待工具加载完成后,再次验证是否安装成功即可。
2. 关于selenuim的几点说明
首先,我们编写一个小程序:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
在使用selenuim时,我们需要一个对象来进行实际的操作,比如上面我么你声明的driver对象,我们就可以通过它来控制浏览器进行。
其次,我们要注意的是使用过程中,由于网络等原因,出现以下报错是正常情况,让程序休眠适当时间或重复运行即可,错误如下:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: .s_ipt
接着,使用selenium常用语法是driver.find_element_by_XX('xx')send_keys('nn'),如果传的值‘nn‘中包含中文,‘nn‘前要写上u,表示字符集编码,不加则会报错。或者我们也可以使用xpath语法定位一个标签,语法参考上篇博客即可。
最后,我们要了解一下selenium的特点:
1.由程序控制浏览器进行操作,而不是手动操作浏览器。
2.程序控制浏览器进行操作时,速度非常慢,因此要谨慎使用selenium。
3.使用selenium控制浏览器的时候,需要下载浏览器对应的驱动程序。
4.selenium为开源、免费,但是更新速度没有浏览器快,不是selenium更新慢,而是浏览器更新快,要注意selenium和浏览器之间的对应关系。