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 响应返回给客户端。

相关推荐
就叫飞六吧4 小时前
wrk:现代 HTTP 性能测试工具(类cc)
网络协议·测试工具·http
代码游侠4 小时前
复习——网络测试工具
linux·开发语言·网络·笔记·学习·测试工具
我的xiaodoujiao5 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 37--测试报告 Allure 前置步骤-配置安装 JDK 详细图文教程
java·开发语言·学习·测试工具
我的xiaodoujiao5 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 36--二次封装MySQL数据库连接操作
python·学习·测试工具·pytest
曲莫终6 小时前
增强版JSON对比工具类
java·后端·测试工具·json
胡伯来了6 小时前
08 - 数据收集 - 网页采集工具Selenium
爬虫·python·selenium·rag·网络采集
测试人社区-千羽1 天前
智能化测试:AI驱动的测试覆盖率提升方法论与实战路径
运维·人工智能·测试工具·程序人生·自动化·测试覆盖率
Wpa.wk1 天前
接口测试-Postman接口测试小练习-初级
经验分享·测试工具·接口测试·postman
潘达斯奈基~1 天前
spark性能优化6:内存管理
大数据·测试工具·性能优化·spark
可可南木2 天前
ICT测试日志 --5--日志记录的格式 下
功能测试·测试工具·pcb工艺