selenium工作原理

原文链接: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 响应返回给客户端。

相关推荐
kiss strong14 小时前
自制请求工具request-ui
测试工具
蒲公英内测分发17 小时前
在灵感与输出之间挣扎:我与 Typeoff 的交集
测试工具·产品运营·项目管理·语音输入
川石课堂软件测试18 小时前
UI自动化测试|元素操作&浏览器操作实践
功能测试·测试工具·mysql·ui·docker·容器·单元测试
Luminbox紫创测控20 小时前
AM1.5G光谱在LED太阳模拟器中的工程实现:光谱匹配与均匀性优化(A+级指标)
人工智能·测试工具·5g·安全性测试
i love you china21 小时前
接口测试工具postman的使用方法
测试工具·postman
LT101579744421 小时前
2026年接口自动化测试平台选型指南:微服务高效测试工具
测试工具·微服务·架构
测试员周周2 天前
【AI测试智能体-面试】AI测试面试60题(附回答思路)
人工智能·python·功能测试·测试工具·单元测试·自动化·测试用例
weixin_307779132 天前
智能模拟数据生成平台:生成式AI合成数据技术重塑开发测试效能
人工智能·测试工具·算法·测试用例
Lust Dusk2 天前
postman工具介绍(附下载教程)
测试工具·安全·web安全·postman
忧云2 天前
Wireshark 中文整完整安装与实操教程
测试工具·wireshark·抓包工具·tcp抓包