一、Selenium简介
1.原理
Selenium 是一个 Web 应用的自动化框架。
通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作。
而且还能从web界面获取信息。 比如获取12306票务信息,招聘网站职位信息,财经网站股票价格信息 等等,然后用程序进行分析处理。
Selenium 的自动化原理是这样的

从上图可以看出:
我们写的自动化程序 需要使用 客户端库。
我们程序的自动化请求都是通过这个库里面的编程接口发送给浏览器。
比如,我们要模拟用户点击界面按钮, 自动化程序里面就应该 调用客户端库相应的函数, 就会发送 点击元素 的请求给 下方的 浏览器驱动。 然后,浏览器驱动再转发这个请求给浏览器。
这个自动化程序发送给浏览器驱动的请求 是HTTP请求。
客户端库从哪里来的? 是Selenium组织提供的。
Selenium组织提供了多种 编程语言的Selenium客户端库, 包括 java,python,js, ruby等,方便不同编程语言的开发者使用。
我们只需要安装好客户端库,调用这些库,就可以发出自动化请求给浏览器咯。
浏览器驱动 也是一个独立的程序,是由浏览器厂商提供的, 不同的浏览器需要不同的浏览器驱动。 比如 Chrome浏览器和 火狐浏览器有 各自不同的驱动程序。
浏览器驱动接收到我们的自动化程序发送的界面操作请求后,会转发请求给浏览器, 让浏览器去执行对应的自动化操作。
浏览器执行完操作后,会将自动化的结果返回给浏览器驱动, 浏览器驱动再通过HTTP响应的消息返回给我们的自动化程序的客户端库。
自动化程序的客户端库 接收到响应后,将结果转化为 数据对象 返回给 我们的代码。
我们的程序就可以知道这次自动化操作的结果如何了。
我们再总结一下,selenium 自动化流程如下:
- 自动化程序调用Selenium 客户端库函数(比如点击按钮元素)
- 客户端库会发送Selenium 命令 给浏览器的驱动程序
- 浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令
- 浏览器执行命令
- 浏览器驱动程序获取命令执行的结果,返回给我们自动化程序
- 自动化程序对返回结果进行处理
2.安装
Selenium环境的安装主要就是安装两样东西: 客户端库 和 浏览器驱动。
1.安装客户端库
pip install selenium
2.安装浏览器驱动
我这里使用的是谷歌浏览器
注意浏览器驱动 必须要和浏览器版本匹配
Chrome 浏览器驱动下载地址
比如:当前Chrome浏览器版本是94.0.4606.81, 通常就需要下载94开头的目录里面的驱动程序 。

二、网页自动化测试
1.打开浏览器并访问百度
新建一个python项目,我这里为了方便直接把浏览器驱动放到了项目跟目录下,所以代码中浏览器驱动的路径就是chromedriver.exe文件名

代码如下
from selenium import webdriver
from selenium.webdriver.common.by import By
# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(r'chromedriver.exe')
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')
# 根据id选择元素,返回的就是该元素对应的WebElement对象
element = wd.find_element(By.ID, 'kw')
# 通过该 WebElement对象,就可以对页面元素进行操作了
# 比如输入字符串到 这个 输入框里
element.send_keys('重庆交通大学\n')
效果如下:

2.爬取动态网页的名人名言
我们需要爬取http://quotes.toscrape.com/js/网页的名言
打开网页分析爬取内容所在元素的ID
名言和名人的ID找到了

本文介绍Selenium的基本原理及安装方法,并通过三个案例展示其在网页自动化测试中的应用:打开浏览器访问百度并搜索,爬取动态网页上的名人名言,以及爬取京东上的图书信息。
最低0.47元/天 解锁文章
1473

被折叠的 条评论
为什么被折叠?



