所需E币: 0
时间: 2024-5-20 16:59
大小: 2.18KB
日常工作中,我们不可能避免得使用浏览器来完成一些工作,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,等待时间可以自定义,单位毫秒)等待事件发生