selenium工作原理
来源:3-13 selenium基础面试技巧

南风_bfgtyE
2024-11-22
1回答
-
Mushishi
2024-12-31
有一个免费的selenium课程。有讲解,这个里面前面基础章节有讲解的哦。最底层的原理 是在python课程里面讲解的。
Selenium 的工作原理可以分为以下几个核心步骤:
1. WebDriver 协调浏览器
Selenium 的核心组件是 WebDriver。它作为与浏览器交互的接口,负责控制浏览器的启动、执行测试脚本、模拟用户操作等。
WebDriver 不仅与浏览器进行直接通信,还与操作系统层面的浏览器驱动(如 ChromeDriver、GeckoDriver 等)配合工作,通过 HTTP 请求发送命令到浏览器。
WebDriver 的作用:它提供了一些 API,使得测试脚本能够:
打开、关闭浏览器。
查找和定位页面元素。
执行用户操作,如点击、输入文本、拖拽等。
获取浏览器的返回结果(例如,获取页面内容、检查元素状态等)。
2. 浏览器驱动(Browser Driver)
Selenium 本身并不能直接与浏览器通信,它依赖于 浏览器驱动(例如:ChromeDriver、GeckoDriver、EdgeDriver等)来桥接 WebDriver 和浏览器之间的通信。
浏览器驱动是一个本地可执行文件,充当了 WebDriver 和浏览器之间的中介。它接收 WebDriver 发出的 HTTP 请求,将其翻译成浏览器能理解的操作,并返回浏览器的响应。
WebDriver -> HTTP 请求 -> 浏览器驱动 -> 浏览器操作
浏览器驱动 -> 浏览器执行操作并返回结果 -> WebDriver 处理响应
3. 命令与响应协议
Selenium 使用 JSON Wire Protocol(目前已被 W3C WebDriver 标准替代)或者 W3C WebDriver 协议来实现客户端与浏览器驱动之间的通信。
WebDriver API:通过各种浏览器驱动程序发送标准化的 HTTP 请求,指示浏览器执行相应的操作(例如,打开页面、点击按钮、获取元素等)。
HTTP 请求与响应:WebDriver 使用 JSON 格式的 HTTP 请求将操作指令发送到浏览器驱动,而浏览器驱动根据指令与浏览器进行交互,并返回响应。
示例:
浏览器驱动请求:
POST /session/{session_id}/element
(查找元素)浏览器响应:返回 HTML 元素的定位信息或状态码
00
相似问题