news 2026/2/28 19:19:59

Playwright 和 Selenium的对比

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Playwright 和 Selenium的对比

前言

最近有不少同学问到 Playwright 和 Selenium 的区别是什么?
有同学可能之前学过 selenium 了,再学一个 playwright 感觉有些多余,可能之前有项目已经是 selenium 写的了,换成 playwright 需要时间成本,并且可能有未知风险。
也有同学之前可能没学过 selenium ,现在正准备入手一个web 自动化框架,但是对于选择selenium 和 playwright 犹豫不决,因为面试问selenium比较多,可能学了工作中也用不上,仅仅只是应付面试。
不管出于哪种原因,本篇详细分析 2 者的差异

Playwright 和 Selenium 的区别

编号功能PlaywrightSelenium哪个更优秀
1学习资料相对少Selenium
2用户群体出现的比较晚,用户量相对少出现的早,用户量多Selenium
3支持语言TypeScript、JavaScript、Python、.NET、JavaC#,Java,Perl,PHP,Python 和RubySelenium
4支持浏览器Chromium(包含chrome, msedge)、WebKit 和 FirefoxIE(7, 8, 9, 10, 11),Firefox,Safari,Google Chrome,Opera,Edge等Selenium
5跨平台Windows,Linux(只支持Ubuntu部分系统) ,MacWindows,Linux,Mac 都支持Selenium
6浏览器安装命令行安装自己安装Playwright
7浏览器驱动不需要驱动下载对应版本驱动Playwright
8启动速度Playwright
9context 环境隔离Playwright
10headless 无头模式默认headless, 也可以设置GUI默认GUI模式,也可以设置headlessPlaywright
11无痕模式默认无痕模式,对应测试很有帮助,对于爬虫用户可能访问页面不通过默认非无痕默认,爬虫用户特别喜欢Selenium
12页面等待wait_for_load_state可以精准等待commit,domcontentloaded,load,networkidle四种状态implicitly_wait等待页面加载完成Playwright
13元素定位提供多个内置定位器,定位方式更贴近业务,定位方式更多八大定位Playwright
14元素等待定位元素自带等待机制需要自己封装等待方法Playwright
15点击元素等操作会判断元素状态,出现位置,是否可点击智能判断需要自己封装webdriverwait.until方法,难度较大Playwright
16定位报错会人性化告诉你定位到几个元素,并推荐定位方式报错需要自己去猜谜,自己排除各种可能性Playwright
17元素不在当前屏幕会判断元素位置,自动滚动元素出现位置需要自己去判断滚动Playwright
18iframe通过对象操作,不用切换需要来回切换Playwright
19alert默认监听自动关闭,可以异步监听需要自己判断,无异步监听Playwright
20文件上传监听文件上传时间,处理优雅无法解决非input 上传Playwright
21文件下载可以监听下载只能设置浏览器默认位置Playwright
22多窗口标签可以监听窗口事件,操作方便需要来回切换Playwright
23事件监听可以监听各种事件无法监听Playwright
24捕获ajax 请求可以捕获ajax 请求和 返回无法捕获Playwright
25mock 功能可以模拟想要的任何接口数据无mock 功能Playwright
26断言提供expect 丰富断言需要自己封装webdriverwait.until方法,难度较大Playwright
27录制视频录制用例视频Playwright
28trace 追踪Playwright
29断点调试Playwright
30录制可以生成pytest用例录制功能比较简单Playwright
31鼠标键盘操作调用简单方便导入模块,操作复杂Playwright
32base_url可以添加全局base_url无此功能Playwright
33接口测试提供接口测试无此功能Playwright
34grid 分布式selenium-grid 分布式Selenium
35协议websockt 协议,可以实时获取页面状态http 协议,只能获取当时的状态,需自己轮询判断Playwright
36执行JavaScript可以在page,iframe,元素对象执行JavaScript只能在driver对象执行JavaScripPlaywright
37面试要求playwright 比较少问selenium 比较多Selenium
38学习难易程度容易,无需封装,直接用难度较大,需要封装Playwright

总体打分Selenium 8分, Playwright 30 分。

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 1:33:16

无需大量算力!GPT-SoVITS轻量级训练方案出炉

无需大量算力!GPT-SoVITS轻量级训练方案出炉 在虚拟主播直播间里,一个声音与真人几乎无异的AI正在流畅播报商品信息;而在另一间康复中心,一位因疾病失去发声能力的患者正通过一段病前录音重建自己的“声音”——这一切背后&#x…

作者头像 李华
网站建设 2026/2/28 17:24:23

vue3中使用echarts实现3D饼图(组件封装)

前言 之前那篇文章已经实现3D饼图效果&#xff0c;这次只是在其基础上进行了简单的组件封装。详情请看vue3中用echarts达到3D饼图的实现 效果演示 添加无数据时占位盒子。&#xff08;自行根据ui设计更换样式&#xff09; 封装组件 Pie3D.vue组件 <template><divv-i…

作者头像 李华
网站建设 2026/2/25 12:52:29

基于单片机粮仓温湿度检测控制系统设计

一、系统总体设计方案 本粮仓温湿度检测控制系统以单片机为核心&#xff0c;搭配温湿度传感器、数据存储模块、报警模块及通风除湿执行模块&#xff0c;构建 “检测 - 分析 - 控制 - 反馈” 的闭环系统&#xff0c;旨在实时监控粮仓内温湿度变化&#xff0c;预防粮食霉变、虫害…

作者头像 李华
网站建设 2026/2/28 8:40:39

在学习SQL注入或XSS这类具体漏洞时,如何设计一个高效的“理论+实践”学习循环?

建立高效的“理论实践”循环&#xff0c;正是能否真正掌握SQL注入或XSS这类Web安全核心漏洞的分水岭。下面这个框架&#xff0c;希望能帮助您将知识转化为真实的攻防能力。学习阶段核心目标关键任务/方法推荐工具/环境① 靶场环境搭建​准备好一个安全、隔离的实验平台配置集成…

作者头像 李华
网站建设 2026/2/26 16:19:05

GPT-SoVITS模型灰盒测试方法:介于黑盒与白盒之间的验证策略

GPT-SoVITS模型灰盒测试方法&#xff1a;介于黑盒与白盒之间的验证策略 在智能语音技术飞速发展的今天&#xff0c;个性化语音合成已不再是实验室里的“未来构想”&#xff0c;而是逐步渗透进教育、媒体、无障碍服务等实际场景。然而&#xff0c;当一个模型仅用一分钟语音就能克…

作者头像 李华
网站建设 2026/2/26 20:46:04

15、WPF 控件换肤与主题开发指南

WPF 控件换肤与主题开发指南 在软件开发中,用户界面的美观性和可定制性越来越受到重视。Windows Presentation Foundation (WPF) 为开发者提供了强大的功能,使得创建高级控件和实现视觉效果变得更加容易。本文将深入探讨 WPF 中的控件换肤与主题相关知识。 1. 皮肤与主题概…

作者头像 李华