UI自动化 - playwright跟selenium对比

发布时间:2026/10/2 8:44:22

UI自动化 - playwright跟selenium对比
playwright是微软在 2020 年初开源的新一代自动化测试工具其功能和 selenium 类似都可以驱动浏览器进行各种自动化操作。selenium和playwright哪个更好用该选择哪个作为自动化工具可以看以下内容支持语言先说这两个框架支持的编程语言虽然selenium比playwright支持更多的语言但是对测试来说只要能支持python和Java对我们来说应该就等于没有区别了环境搭建playwright支持主流浏览器Chrome、Firefox、Safari而selenium则支持几乎所有的主流浏览器。在这一点上selenium是比playwright要强的但是playwright有一点是selenium没法比的就是环境搭建的方便程度。selenium要想成功运行得自己手动去下载对应浏览器的driver驱动文件再放到对应的文件夹地址中配置环境变量才可以成功运行这一步会拦住很多初学者甚至有人找驱动文件的下载地址都要找半天。而且驱动文件还必须找到正确的版本才行如果版本不一样还跑不起来但是playwright就把这个过程简化到了极致你只需要运行两行命令就可以完成环境的搭建。1、先下载playwright的第三方包pip install playwright2、下载第三方包完成后运行以下命令下载驱动playwright install性能从实际使用效果来看playwright的性能是碾压selenium的我在使用selenium的框架跑测时加载js文件要耗费数十秒导致每次刷新或者跳转页面都会浪费很多时间而playwright没有这个问题使用的时候就跟我平时正常浏览网页一样的速度等待的不同selenium的等待需要通过隐式等待全局设置或者单独写比较复杂的显示等待语句。WebDriverWait(browser,second25).until(EC.presence_of_element_located((By.CLASS_NAME, contentBox)), ) //显示等待的例子playwright可以在查找元素的时候通过timeout的参数比隐式等待的全局设置更灵活。但是缺点是playwright本身的语法是不支持显示等待的需要自己单独写一个方法来实现显示等待的效果self.page.wait_for_selector(timeouttimeout*1000,selectorselector,**kwargs) //查找元素通过timeout参数设置等待时间的例子api1、虽然selenium的性能是比playwright要差的但是作为一个老牌的自动化框架他api支持的功能是比playwright要丰富的基本能涵盖浏览器的所有操作。2、虽然api丰富但是本身api的操作比较复杂繁琐相对之下playwright会简洁一些用起来更顺手。社区生态两个框架现在都能查到详细的资料通过chatgpt也能解决你遇到的绝大部分问题这一点两个框架都是很强大的定位方式playwright通过简化定位方式让你写代码的时候更加顺手你只需要填入selector定位表达式playwright会自动帮你识别定位方法selenium在定位元素的时候必须传入定位方法如果传错就会定位失败但是有一个缺点就是playwright的单元素定位和多元素定位是要用不同的写法的。如果使用单元素定位的写法定位到多个元素时会报错并行测试playwright内置并行测试的功能支持多浏览器上下文。且playwright支持使用协程的写法selenium需要借助 Selenium Grid 或第三方工具如 TestNG来实现并行测试。selenium不支持协程总的来说对于初学者或者小的项目来说用playwright是一个更好的选择它会更加灵活简便。如果是对功能要求较高的话可以使用selenium它提供的api更加全面

相关新闻

室外监控摄像头推荐:2026年户外安防选购指南,这四款总有一款适合你

室外监控摄像头推荐:2026年户外安防选购指南,这四款总有一款适合你

2026/8/23 0:17:59

院子、果园、鱼塘、工地、仓库……室外监控的需求日益增长,但选购难度也远超室内摄像头。 据「解密优选」统计,超过70%的用户在选购室外监控时踩过坑: 买回来才发现不防水,淋一场雨直接报废;装好后发现没网没电&#…

互联网大厂 Java 求职面试:燕双非的搞笑旅程与技术深度探讨

互联网大厂 Java 求职面试:燕双非的搞笑旅程与技术深度探讨

2026/9/28 18:28:40

互联网大厂 Java 求职面试:燕双非的搞笑旅程与技术深度探讨在这篇文章中,我们将通过一场搞笑而严肃的面试,带您深入了解互联网大厂 Java 求职者的面试场景。面试官是一位严肃认真的技术专家,而候选人燕双非则是一位幽默风趣的程序…

3步实现Switch手柄在Windows电脑的完美适配

3步实现Switch手柄在Windows电脑的完美适配

2026/9/5 15:30:46

3步实现Switch手柄在Windows电脑的完美适配 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.com/gh_mirrors/be/BetterJ…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/29 22:00:59

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/30 20:35:35

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/30 20:35:38

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/10/2 4:43:07

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/10/2 4:42:51

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/30 8:20:32

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…