资料地址1:https://pan.baidu.com/s/1RB23Y6IwUaGP7cb8MfwWlQ 提取码: ubdv
资料地址2:https://share.weiyun.com/TUBYPTvw 密码:mjg5i4
日常工作中,我们不可能避免得使用浏览器来完成一些工作,Python 也有不少浏览器自动化的工具,我用过 selenium、splinter、playwright,最终还是选择了微软的 playwright,之所以选择它,是因为它可以自动安装浏览器,不需要手动下载浏览器的驱动程序,比如 chromedriver,这样写出来的自动化工具很容易移植到其他系统中运行。
Playwright 可通过单个 API 自动执行 Chromium,Firefox 和 WebKit浏览器,支持无头浏览器(headless),Linux、macOS、Windows 下均可以使用,Playwright提供的自动化技术是绿色的,功能强大,稳定且速度快。你可以充分发挥空间,想象它可以实现什么样的功能。
一、Playwright 是什么?
微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。 Playwright 支持大部分的语言,Node.js,Python,Java,.net,并且支持谷歌,火狐浏览器,WebKit,对于移动端也支持,可以在 Windows、Linux、MacOs 等机器上运行。脚本执行支持同步或者异步的方式。Playwright是一个开源的自动化测试工具,用于测试网页应用。它可以操控Chromium(用于Chrome、Edge等)、Firefox和WebKit(用于Safari)等主流浏览器,使我们能在不同浏览器中执行自动化测试。
二、Playwright相对于Selenium的优势
在介绍Playwright的安装与Python集成之前,让我们先了解一下Playwright相对于传统的自动化测试工具Selenium的优势所在。
1.1 跨浏览器支持
Playwright支持多种主流浏览器,包括Chrome、Firefox和WebKit(用于Safari),而Selenium在一段时间内对新版本的浏览器支持可能会滞后。
1.2 更快的执行速度
Playwright以其快速的执行速度著称,它能够在多个浏览器上同时执行测试,从而大大减少了测试的执行时间。相比之下,Selenium在执行速度方面可能会慢一些。
1.3 更稳定的选择器
Playwright使用了更先进的选择器引擎,能够更稳定地识别页面上的元素,减少了因页面变化而导致的测试失败的可能性。而Selenium在这方面可能会更容易受到页面变化的影响。
三、Playwright是跨语言支持的,支持Python、Java、Node.js、.NET
使用场景:
自动化测试工程师,可用于Web开发中的各种自动化测试;
爬虫工程师,当接口中有加密参数(包括url加密参数、请求头加密参数、cookie加密参数)或者返回数据也是经过加密的,如果加密逻辑太过复杂暂时无法找出,我们可采用自动化的方式获取经过网站渲染过的源码,抓取需要的数据即可;
开发工程师,可与其他项目结合来使用,比如docker、github/gitlab等
四、为什么选择 Playwright?
Playwright 的优势
1、Selenium 需要通过 WebDriver 操作浏览器;Playwright 通过开发者工具与浏览器交互,安装简洁,不需要安装各种 Driver。
2、Playwright 几乎支持所有语言,且不依赖于各种 Driver,通过调用内置浏览器所以启动速度更快。
3、Selenium 基于 HTTP 协议(单向通讯),Playwright 基于 Websocket(双向通讯)可自动获取浏览器实际情况。
4、Playwright 为自动等待,而在 Selenium 中经常需要写 sleep 去作为一个等待,保证程序正常运行。等待元素出现(定位元素时,自动等待30s,等待时间可以自定义,单位毫秒)等待事件发生
有疑问加站长微信联系(非本文作者)