目录
一、简介
二、使用selenium库前的准备
1、了解selenium库驱动浏览器的原理
(1)、WebDriver 协议
(2)、 浏览器驱动(Browser Driver)
(3)、 Selenium 客户端库
(4)、 工作流程
(5)、 跨浏览器支持
(6)、 自动化测试
2、安装WebDriver
安装步骤(以谷歌浏览器为例)
(1)、查看自己的浏览器版本
(2)、进入chromedriver下载地址
(3)、 把解压后的Chromedriver.exe文件拷贝到python安装目录的Scripts目录下
3、安装selenium库
(1)、在命令提示符窗口或终端执行以下的命令
(2)、安装完成后使用以下命令查看库的信息
三、使用selenium驱动浏览器
四、总结
一、简介
selenium库是一种用于用于Web应用程序测试的工具,它可以驱动浏览器执行特定操作,自动按照脚本代码做出单击、输入、打开、验证等操作,支持的浏览器包括IE、Firefox、Safari、Chrome、Opera等。与requests库不同的是,selenium库是基于浏览器的驱动程序来驱动浏览器执行操作的。且浏览器可以实现网页源代码的渲染,因此通过selenium库还可以轻松获取网页中渲染后的数据信息。
二、使用selenium库前的准备
1、了解selenium库驱动浏览器的原理
(1)、WebDriver 协议
Selenium 使用 WebDriver 协议与浏览器进行通信。WebDriver 是一个基于 HTTP 的协议,定义了与浏览器交互的命令和响应格式。每个浏览器(如Chrome、Firefox、Safari等)都有自己的 WebDriver 实现(如ChromeDriver、GeckoDriver等),这些实现负责将 WebDriver 命令转换为浏览器能够理解的指令。
(2)、 浏览器驱动(Browser Driver)
浏览器驱动是一个独立的可执行文件,它充当浏览器和 Selenium 之间的桥梁。每个浏览器都有对应的驱动程序:
-
ChromeDriver:用于控制 Google Chrome 浏览器。
-
GeckoDriver:用于控制 Mozilla Firefox 浏览器。
-
SafariDriver:用于控制 Apple Safari 浏览器。
-
EdgeDriver:用于控制 Microsoft Edge 浏览器。
浏览器驱动程序会启动一个本地服务器,监听来自 Selenium 的请求,并将这些请求转换为浏览器能够执行的操作。
(3)、 Selenium 客户端库
Selenium 客户端库(如 selenium
Python 库)提供了编程接口,允许开发者通过代码发送 WebDriver 命令。开发者可以使用这些库来编写脚本,控制浏览器执行各种操作,如打开网页、点击按钮、填写表单等。
(4)、 工作流程
以下是 Selenium 驱动浏览器的基本工作流程:
-
启动浏览器驱动:Selenium 客户端库会启动浏览器驱动程序(如 ChromeDriver),并建立一个连接。
-
创建浏览器实例:通过 WebDriver 协议,Selenium 客户端库会请求浏览器驱动创建一个新的浏览器实例。
-
发送命令:开发者通过 Selenium 客户端库发送各种 WebDriver 命令(如
driver.get("https://example.com")
),浏览器驱动会将这些命令转换为浏览器能够执行的操作。 -
执行操作:浏览器执行相应的操作,如加载网页、点击按钮等。
-
获取结果:浏览器将执行结果返回给浏览器驱动,浏览器驱动再将结果返回给 Selenium 客户端库。
-
关闭浏览器:操作完成后,开发者可以关闭浏览器实例。
(5)、 跨浏览器支持
Selenium 的一个主要优势是它支持多种浏览器。开发者可以通过配置不同的浏览器驱动来实现跨浏览器测试。例如,使用 webdriver.Chrome()
可以控制 Chrome 浏览器,使用 webdriver.Firefox()
可以控制 Firefox 浏览器。
(6)、 自动化测试
Selenium 广泛用于自动化测试,特别是在 Web 应用程序的端到端测试中。通过编写脚本,开发者可以模拟用户在浏览器中的操作,验证应用程序的功能和性能。
2、安装WebDriver
选择使用的组合,以下三种方式安装一组即可
- selenium + PhantomJS
- selenium + chromedriver + Chrome
- selenium + geckodriver + Firefox
火狐浏览器或者谷歌浏览器需要额外下载浏览器驱动器
下载地址
chromedriver:CNPM Binaries Mirrorhttps://registry.npmmirror.com/binary.html?path=chrome-for-testing/
geckodriver:https://github.com/mozilla/geckodrive/releaseshttps://github.com/mozilla/geckodrive/releases
PhantomJS:https://phantomjs.org/downloqd.htmlhttps://phantomjs.org/downloqd.html
安装步骤(以谷歌浏览器为例)
(1)、查看自己的浏览器版本
点击浏览器右上角三个圆点-->帮助-->关于Google Chrome
(2)、进入chromedriver下载地址
选择一个和自己浏览器版本比较近的(相同或略高于)
(3)、 把解压后的Chromedriver.exe文件拷贝到python安装目录的Scripts目录下
3、安装selenium库
(1)、在命令提示符窗口或终端执行以下的命令
pip install selenium
(2)、安装完成后使用以下命令查看库的信息
pip show selenium
三、使用selenium驱动浏览器
from selenium import webdriver
import time# 创建浏览器对象
brow = webdriver.Chrome()
# 输入要访问的地址
brow.get('http://www.baidu.com/')
time.sleep(10)
# 关闭浏览器
brow.quit()
四、总结
Selenium 是一个功能强大且灵活的工具,适用于各种Web自动化需求。无论是用于测试、抓取数据,还是自动化日常任务,Selenium 都能提供强大的支持。