原理与安装

原理

Selenium 是一个 Web 应用的自动化框架。

通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文本 等操作。

而且还能从web界面获取信息。 比如获取12306票务信息,招聘网站职位信息,财经网站股票价格信息 等等,然后用程序进行分析处理。

Selenium 3.0 版本的自动化架构是这样的

白月黑羽Python3教程

从上图可以看出:

我们写的自动化程序 需要使用 客户端库

我们程序的自动化请求都是通过这个库里面的编程接口发送给浏览器。

比如调用某个元素对象的click方法, 就会发送 点击这个元素 的请求给 下方的 浏览器驱动

这个自动化程序的请求是通过调用客户端库,构建出相应的HTTP请求,发送给浏览器驱动的。

客户端库从哪里来的? 是Selenium组开发提供的。

Selenium组织提供了多种 编程语言的Selenium客户端库, 包括 java,python,js, ruby等,方便不同编程语言的开发者使用。

我们只需要安装好客户端库,调用这些库,就可以发出自动化请求给浏览器咯。


浏览器驱动 也是一个独立的程序,是由浏览器厂商提供的, 不同的浏览器需要不同的浏览器驱动。 比如 Chrome浏览器和 火狐浏览器有 各自不同的驱动程序。

浏览器驱动接收到我们的自动化程序发送的界面操作请求后,会转发请求给浏览器, 让浏览器去执行对应的自动化操作。

浏览器执行完操作后,会将自动化的结果返回给浏览器驱动, 浏览器驱动再通过HTTP响应的消息返回给我们的自动化程序的客户端库。

自动化程序的客户端库 接收到响应后,将结果转化为 数据对象 返回给 我们的代码。

我们的程序就可以知道这次自动化操作的结果如何了。


我们再总结一下,selenium 自动化流程如下:

  1. 测试程序调用Selenium 客户端库
  2. 客户端库会发送Selenium 命令 给浏览器的驱动程序
  3. 浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令(比如点击按钮元素)
  4. 浏览器执行命令
  5. 浏览器驱动程序获取命令执行的结果,返回给我们测试程序
  6. 测试程序对返回结果进行处理


安装

Selenium环境的安装主要就是安装两样东西: 客户端库 和浏览器 驱动


安装客户端库

不同的编程语言选择不同的Selenium客户端库。

对应我们Python语言来说,Selenium客户端库的安装非常简单,用 pip 命令即可。

打开 命令行程序,运行如下命令

pip install selenium


安装浏览器驱动

浏览器驱动 是和 浏览器对应的。 不同的浏览器 需要选择不同的浏览器驱动。

目前主流的浏览器中, Chrome 浏览器对Selenium自动化的支持更加成熟一些。

我们就以Chrome浏览器为例。

大家打开下面的连接,访问Chrome 浏览器的驱动下载页面

Chrome 浏览器驱动下载地址

注意浏览器驱动 必须要和浏览器版本匹配,下红圈里面的版本号 就是和浏览器版本号对应的

浏览器驱动

比如:当前Chrome浏览器版本是72, 就需要下载72开头的目录里面的驱动程序 。

打开目录,里面有3个zip包,分别对应Linux、Mac、Windows平台。

如果我们是Windows平台的电脑,就下载 chromedriver_win32.zip

这是个zip包,下载下来之后,解压里面的程序文件 chromedriver.exe 到某个目录下面,注意这个目录的路径最好是没有中文名和空格的。

比如,解压到 d:\webdrivers 目录下面。

也就是保证我们的Chrome浏览器驱动路径为 d:\webdrivers\chromedriver.exe


扫码分享给朋友,一起学更有动力哦