嗨,各位Python程序员,放弃selenium,试试年轻的Playwright如何?

【Playwright】比较Selenium和Playwright 这篇博客比较了两个流行的测试自动化框架,Selenium 和 Playwright。这两个框架都可以自动化 Web 应用程序测试,但它们的方法和功能不同。虽然 Selenium 已经存在了十多年并被广泛使用,但 Playwright 是微软开发的一个较新的框架。 Playwright 提供了一个高级 API,可以简化编写测试的过程,支持多种 Web 浏览器和平台,并具有内置的自动等待功能。相比之下,Selenium 拥有更广泛的社区,支持范围更广的编程语言。 阅读详情

⛳️ 实战场景

上一篇博客我们首次接触年轻的自动化模块 playwright,惊讶于其代码录制功能,今天咱们接着学习一下,其 API 相关知识。

正式学习前,先把基础示例代码呈现给大家。

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)

    page = browser.new_page()
    page.goto("http://example.com")
    print(page.title())
    browser.close()

注意上述代码使用的不是无头浏览器,运行代码得到请求站点的标题,下面继续对代码进行扩展。

⛳️ 实现浏览器截图

通过浏览器打开站点之后,可以对网页默认展示区域进行截图操作,代码如下:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)

    page = browser.new_page()
    page.goto("http://example.com")
    page.screenshot(path="example.png")
    browser.close()

在运行目录生成如下图片: 嗨,各位Python程序员,放弃selenium,试试年轻的Playwright如何?

⛳️ 将截图代码优化为异步模式

上述截图代码为同步模式,可以进行简单的修改,从而调整为异步模式。

import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        page = await browser.new_page()
        await page.goto('http://example.com')
        await page.screenshot(path='example.png')
        await browser.close()

asyncio.get_event_loop().run_until_complete(main())

这里一定要注意 async_playwright 和 sync_playwright 导入模式,互联网很多博客这里都写错误,也不知道他们的代码是怎么运行起来的,对比代码如下所示:

from playwright.async_api import async_playwright # 异步导入
from playwright.sync_api import sync_playwright # 同步导入

⛳️ 模拟手机端访问

模拟手机操作用到的核心方法如下所示:

  • p.devices[phone_name]:选择设备名,可以从谷歌浏览器的开发者工具中进行选择,截图在代码后。
  • browser.new_context():初始化浏览器的时候,可以进行参数配置。
from playwright.sync_api import sync_playwright # 同步导入

with sync_playwright() as p:
    phone_name = 'iPhone 13'
    iphone_13 = p.devices[phone_name]
    browser = p.webkit.launch(headless=False)
    context = browser.new_context(
        **iphone_13,
        locale='zh-CN'
    )
    page = context.new_page()
    page.goto('https://baidu.com')
    page.screenshot(path=f'{phone_name}.png')
    # browser.close()

可以选择的设备名称(包含但不限于!) 嗨,各位Python程序员,放弃selenium,试试年轻的Playwright如何? 运行上述代码,可以模拟手机访问效果。

本篇博客最后补充的知识点是 browser.new_context() 方法的详细参数说明(全网首发)。

  • accept_downloads:布尔类型,是否自动下载所有附件,默认为 True;
  • base_url:根路径,这个参数要配合 goto(),route() 方法使用;
  • bypass_csp:布尔类型,跨域攻击配置;
  • device_scale_factor:设备比例基数,默认是 1.0;
  • extra_http_headers:字典对象,每个请求发送的附加 HTTP 头的对象;
  • geolocation:地理位置,字典格式,包含经纬度,以及精度;
  • ignore_https_errors:发送网络请求时是否忽略 HTTPS 错误;
  • is_mobile:是否考虑 meta-viewport 标记并启用触摸事件,不支持火狐;
  • java_script_enabled:是否支持 JS;
  • locale :指定用户区域设置;
  • no_viewport:不强制固定窗口,允许在标题模式下调整窗口大小;
  • offline:是否离线模式;
  • proxy:代理设置;
  • storage_state:用户状态设置,例如 cookies,origins。
  • user_agent:用户代理设置;
  • viewport:窗口大小,默认 1280*720,也可以通过字典设置宽度和高度。
---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

Playwright对比selenium Selenium和Playwright都是流行的自动化测试工具,都拥有丰富的功能和API,都可以用于Web应用程序的自动化测试。选择一个测试框架,必须考虑日常工作中的场景以及当前的团队,进而选择合适的自动化测试工具来进行测试。而不是使用一个新的花里胡哨的框架,然后一段时间后因为它没有满足我们的需求而抛弃它。 阅读详情

相关推荐

Playwright 和 Selenium的对比

正在做测试的朋友可以进来交流,群里给大家整理了大量学习资料和面试题项目简历等等…

2501_90252329的博客 1329

测试开发 | 相比 Selenium,Web 自动化测试框架 Playwright 有哪些强大的优势?

Playwright 是由微软的研发团队所开发的一款 Web 自动化测试框架,这个框架具有多平台、跨语言的特点。除了基本的自动化测试能力之外,同时它还具备非常强大的录制功能、追踪功能。以下是 Playwright 与 Selenium 的对比。​由此可见,Playwright 不仅具备 Selenium 多语言、跨平台、多浏览器的优点。相较于 Selenium,Playwright 还有更加强大的优势。

伤心的辣条 2544

Python Playwright实战:动态瀑布流网站数据采集与JSON导出

在Web数据采集领域,动态渲染页面已成为常见的技术挑战,传统的静态请求分析工具难以应对。其核心原理在于,现代网站大量使用JavaScript异步加载数据,初始HTML文档中不包含完整内容,需要通过模拟真实用户交互来触发数据加载。从技术价值角度看,掌握动态页面采集能力,意味着能够获取更丰富、实时的网络数据,为数据分析、内容聚合等应用提供可靠来源。在应用场景上,这尤其适用于电商商品列表、社交媒体信息流、新闻资讯等采用“瀑布流”或无限滚动设计的网站。本文以名言警句网站为例,深入讲解如何利用Playwright这一

weixin_30629653的博客 426

Python程序员,你还在用selenium吗?试试Playwright吧

selenium 已经过时了,用用 playwright 吧

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

Mixly/Arduino实战:WS2812点阵动态显示自定义图案与汉字

本文手把手教你使用Mixly和Arduino驱动WS2812点阵屏,实现自定义图案与汉字的动态显示。内容涵盖硬件连接、取模软件设置、高效数据处理技巧(巧用Excel)、Mixly图形化编程及Arduino代码解析,并深入探讨动态显示与滚动汉字原理,最后提供常见问题排查与性能优化心得,助你从零开始轻松玩转智能硬件。

weixin_29185199的博客 455

WinFrom真入门(1)——Windows窗体应用概念

用Winform开发的桌面程序,是在Windows操作系统上运行的,这个不用多说。窗体(Form)的作用‌:窗体是用户交互的容器,承载按钮、文本框等控件,构成应用程序的界面‌。在Windows操作系统中,窗体(窗口)所处可见,例如: 一个标准的窗体其实就是一块矩形区域,客户区域指的是窗口内部区域。除去标题兰和边框外的区域可视为内部区域,称为客户区域。我们开发人员可以在窗口的客户区域中放置控件,也可以在其中绘制出咱们所需要的图形。WinForm程序的项目的结构,如下图: Main()方法是程序的入口,这几行代

ByteGeek 1636

现代 Web 自动化测试框架对比:Playwright 与 Selenium 的深度剖析

本文对 Playwright 与 Selenium 在开发适配性、使用难度、场景适用性及性能表现等方面进行了全面深入的对比分析。通过详细的技术实现细节阐述与实测数据支撑,为开发者在选择自动化测试框架时提供了清晰的决策依据,助力团队根据项目需求精准匹配最适合的工具,实现高效、稳定的 Web 测试与爬虫开发。

青蛙博客 3769

solidworks实体显示线框

solidworks实体莫名其妙显示为有点虚的线框

qq_35858902的博客 1万+

干货!Playwright架构与Selenium 架构对比

在 Web 测试自动化方面,Selenium 多年来一直是行业的主导工具。但是,市场上还有许多其他自动化测试工具。Playwright是一种较新的工具,已经越来越受欢迎。网上有很多文章对二者进行对比,今天我从二者的架构角度进行一下对比分析!

liwenxiang629的博客 4500

别再纠结了!手把手教你根据项目需求选对目标检测框架(MMDetection/Detectron2/YOLOv8实战对比)

本文详细对比了三大目标检测框架MMDetection、Detectron2和YOLOv8的适用场景与实战技巧,帮助开发者根据项目需求精准选型。从毕业设计到工业落地,分析不同场景下的核心需求与框架优势,提供决策树和避坑指南,确保技术选型与项目目标高度匹配。

weixin_30342209的博客 556

第110章 PCL PointCloudFusing 点云融合重建详细讲解

点云融合是指将多个不同视角、不同位置、不同传感器获取的点云数据进行合并,得到一个更加完整、准确的三维模型。多视角扫描:从多个相机或传感器获取点云数据,需要将这些数据融合成一个统一的三维模型。传感器融合:例如将激光雷达(LiDAR)点云与相机的图像数据融合,以便获得更高质量的三维重建。动态场景重建:动态环境中的物体,点云数据不断更新,如何平滑地融合这些点云是一个重要课题。点云融合的目标是将不同来源的点云数据准确地合并,消除冗余,减少噪声,并提高整体的点云密度和精度。

yumeiguo的博客 505

Playwright 与 Selenium:自动化测试的两大主流工具对比

Playwright 代表了自动化测试的未来趋势,而 Selenium 仍是当前企业级应用的主流选择。根据项目特性和团队技术栈,二者可单独使用或结合使用。需要高效的跨浏览器测试(尤其是 Chrome/Firefox/Safari)维护 legacy 项目(如大量使用 jQuery 或 IE 兼容)依赖成熟社区插件(如 Selenium Grid、Appium)项目使用现代前端框架(React/Vue)或 PWA。需要与现有 Java 测试框架深度集成。需要与 API 测试深度集成。

金玉满堂的博客 1203

Unity3D 加密 Assembly-CSharp.dll (Android平台) 防止反编译

0、加密的原理 Unity3D 是基于 Mono的,我们平时写的 C# 脚本都被编译到了 Assembly-CSharp.dll ,然后 再由 Mono 来加载、解析、然后执行。 Mono 加载 Assembly-CSharp.dll 的时候就是读取文件到内存中,和平时读取一个 游戏资源 文件没什么区别。 为了防止别人破解,我们会对游戏资源加密,简单点的 比如修改文件的一个字节 或者 位移一下

Circle 8725

Playwright vs Selenium:全面对比分析

selenium与playwright对比

全栈程序员的开发日常 4585

镜头调焦的 调整的是焦距还是像距?

在镜头 “调焦”(即日常拍照时的)中,调整的核心是,而非焦距。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 1353

SPICE框架:自博弈提升大语言模型推理能力

自博弈训练是提升大语言模型推理能力的前沿技术,其核心思想是通过模型自我对话实现持续迭代优化。SPICE框架创新性地采用文档驱动的自博弈机制,结合思维链提示和迭代式上下文扩展,显著提升模型在数学证明、逻辑推理等复杂任务中的表现。该技术在代码生成、金融分析等工程场景中展现出23%-41%的性能提升,其关键技术包括多样性控制、质量过滤和记忆管理。随着与RLAIF等强化学习方法的结合,这种训练范式正在推动大模型向更接近人类思维方式的推理能力进化。

weixin_28686771的博客 403

Playwright与Selenium详细对比及Playwright快速入门

特性PlaywrightSelenium发布年份20202004开发商微软开源社区浏览器支持几乎所有主流浏览器,含旧版IE语言支持自动等待内置支持需手动配置代码生成原生支持需要额外工具架构基于CDP和WebSocket基于HTTP/WebDriver执行速度较快较慢测试稳定性高中到低现代Web应用支持优秀一般调试工具丰富,内置Trace Viewer基础,依赖外部工具社区规模中等但增长快大文档质量优秀优秀但分散学习曲线平缓。

qq_17496235的博客 1506

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

详解Selenium 和Playwright两大框架的不同之处

Selenium 和 Playwright 是两种流行的自动化测试工具,它们都被用于浏览器自动化任务,如网页测试、抓取等。虽然它们的目标类似,但在底层逻辑、功能特性、执行方式等方面有很多不同之处。

charon_0928的博客 2645

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Selenium 与 Playwright:浏览器自动化工具的深度对比

浏览器自动化工具通过模拟用户操作(如点击、输入、滚动等)控制浏览器,常用于测试 Web 应用或采集 JavaScript 渲染的动态内容。与传统的 HTTP 请求相比,浏览器自动化工具能够处理复杂的页面交互,提供更接近真实用户体验的功能。Selenium 作为老牌工具已有十余年历史,而 Playwright 则是近年来崭露头角的新星。接下来,我们将从多个维度对它们进行详细对比。Selenium 诞生于 2004 年,最初用于 Web 应用的自动化测试,现已发展为支持多种浏览器和语言的通用自动化工具。

像风一样自由的博客 2025

Selenium和Playwright对比

本文对比分析了Selenium和Playwright两大Web自动化测试框架的核心差异。Selenium采用客户端-服务器架构,支持多语言但通信开销较大;Playwright直接嵌入浏览器协议,执行效率更高。功能方面,Playwright提供更智能的自动等待、网络拦截等内置功能,而Selenium生态更成熟。性能测试显示Playwright通常更快,但Selenium在分布式测试和浏览器支持上更具优势。建议新项目优先考虑Playwright,现有Selenium项目可评估部分迁移。两者各有优劣,需根据项目需

se-tester的专栏 1253

Playwright 对比 Selenium 总结

Playwright 内置原生智能等待,自动检测页面加载、元素就绪状态,无需手写任何等待代码,既节省时间,又提升稳定性。Playwright 全面优于 Selenium,在运行速度、稳定性、抗反爬能力、易用性等方面实现全方位碾压,是当前自动化脚本、爬虫、UI测试的首选框架;Playwright 采用 WebSocket 长连接,实现双向实时通信,指令响应极速,大幅减少通信耗时。Playwright 内置页面稳定检测机制,DOM 查询、元素匹配速度更快,减少因页面未稳定导致的重试、卡顿,进一步提升运行效率;

金玉满堂的博客 644

Playwright和Selenium哪个比较好?深度解析两大测试框架的“王者之争”

团队自动化测试效率低?大厂面试总问Selenium源码?新项目到底该选Playwright还是Selenium?2025年,Playwright用户量同比暴涨200%,但Selenium仍占据60%的市场份额头部企业新项目中,Playwright采用率超75%,但旧项目Selenium维护成本降低50%

慕漓的博客 1128

Selenium 与 Playwright 的对比总结

UI自动化测试框架Selenium 与 Playwright 的对比

qq_25894535的博客 5161
上一篇: Python中如何选择Web开发框架?
下一篇: 还在无效加班?Python自动化办公指南
Python_P叔
博客等级 码龄3年 5454粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值