1. 架构与自动等待机制- Selenium是“传统自动化框架”,没有自动等待- Playwright 自带“自动等待”,几乎所有操作都自动等待元素可交互,不需要手动写等待逻辑,代码更稳更少。2. 速度与稳定性- Selenium 速度一般,稳定性依赖你写的等待逻辑。- Playwright 速度更快,因为浏览器驱动内置在框架里,通信更高效,稳定性更高。3. 多浏览器支持- Selenium 支持 Chrome、Firefox、Safari 等- Playwright 自动下载浏览器二进制文件,支持 Chrome、Firefox、Safari(WebKit)4. 代码简洁度- Selenium 比如点击一个元素:WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.ID, "btn"))).click()- Playwright 直接一行: page.click("#btn")5. 录制功能- Selenium 有录制,但体验一般,生成的代码可读性差。- Playwright 内置 codegen ,录制质量高,生成的代码可直接用,还能选择语言。6. 跨域、iframe、网络拦截等高级功能- Selenium 支持有限,需要自己处理 iframe 切换、网络请求拦截比较麻烦。- Playwright 原生支持:- 网络请求拦截(mock、abort、route)- 自动处理 iframe- 截图、录屏- 手机端模拟7. 社区与生态- Selenium 生态大资料多行业标准很多年。- Playwright 由 Microsoft 开发,生态增长快,官方文档非常完善。8. 适合场景- Selenium适合:- 已有大量旧项目- 需要兼容老浏览器- 团队熟悉 Selenium- Playwright适合:- 新项目- 追求速度、稳定性- 自动化 UI 测试、端到端测试- 想减少等待和维护成本如果你是 2025 年开始做自动化测试,Playwright 基本是更好的选择;如果你维护旧项目或公司已有 Selenium 体系,那继续用 Selenium 也没问题。