原文链接:https://blog.csdn.net/weixin_67603503/article/details/143226557
启动浏览器和绑定端口
当你创建一个 WebDriver 实例(如 webdriver.Chrome())时,Selenium 会启动一个新的浏览器实例,并为其分配一个特定的端口。这个浏览器实例充当了一个远程服务器。
客户端与服务器的通信
客户端:你的测试脚本充当客户端,它通过 CommandExecutor 将命令发送给 WebDriver 服务器。
HTTP 请求:使用 WebDriver Wire Protocol,客户端通过 HTTP 请求与服务器通信。请求的主体使用 JSON 格式,告诉webDriver (浏览器驱动)我们希望浏览器接下来做什么事情。
WebDriver Wire Protocol
这个协议定义了一组标准的 HTTP 请求和响应格式,使得不同的 WebDriver 实现(如 ChromeDriver、GeckoDriver 等)能够一致地处理命令和返回结果。
请求包括各种操作,例如打开网页、查找元素、模拟点击等。请求格式通常包含方法(如 GET、POST)、路径和请求体。
服务器端的操作
服务器端(即浏览器驱动)接收来自客户端的请求,并将其解析为浏览器的本地命令。每个驱动程序都需要实现具体的逻辑,将通用的 WebDriver 命令转换为对应浏览器的原生调用。
例如,ChromeDriver 会使用 Chrome 浏览器的 DevTools 协议与浏览器进行通信。
返回结果
执行完命令后,浏览器驱动会将结果(如页面状态、元素属性等)封装成 JSON 格式,通过 HTTP 响应返回给客户端。
selenium工作原理
大霞上仙2024-12-17 10:47
相关推荐
测试杂货铺4 小时前
Selenium操作指南互联网杂货铺6 小时前
如何实现基于场景的接口自动化测试用例?测试19981 天前
树控件、下拉框、文本框常用测试用例2401_871151072 天前
12月第一讲堂:CDP与Selenium相结合??? Meggie2 天前
【Python】使用Selenium的find_element模块获取网页上的大段文字和表格的方法(建议收藏!)leo_厉锵2 天前
Postman接口测试测试老哥2 天前
Jmeter的三种参数化方式勤奋的小王同学~2 天前
(UI自动化测试)第一章 web自动化测试 能够针对(web和app)UI界面进行自动化测试以及回归测试 元素定位web130933203983 天前
基于python的Selenium webdriver环境搭建(笔记)