0基础也能会!Playwright保姆级搭建教程,测试小白10分钟跑通自动化

简介: 这是一份零基础友好的Playwright入门教程:手把手演示Python环境检查、库安装、浏览器驱动配置(含国内镜像方案)、首个自动化脚本编写与运行,全程无跳步、不设门槛,10分钟内必见浏览器自动操作并生成截图。

全文手把手,不装逼,不跳过任何步骤,跟着做一定能跑通

写在前面
先说个真实感受——我刚开始接触自动化测试那会儿,被Selenium的环境配置折磨得够呛。ChromeDriver版本对不上、路径配不对、动不动就报错,光是“跑起来”这一步就卡了我一整天。

后来团队里一位老哥推荐了Playwright,说“你试试这个,不用配驱动”。我当时将信将疑,结果十分钟真跑通了第一个脚本。

所以这篇教程就是写给当年的自己,也写给现在的你——不管你之前有没有写过一行自动化代码,跟着下面的步骤走,10分钟之内,我保证你能看到一个浏览器自己打开、自己操作、自己截图。

废话不多说,开整。

第一步:确认你的Python环境
Playwright支持Python 3.7及以上版本。先确认一下你电脑上有没有Python,以及版本对不对。

打开终端(Windows用户打开命令提示符或PowerShell),输入:

python --version
或者

python3 --version
如果显示类似Python 3.9.x 或Python 3.10.x 这样的信息,恭喜,环境没问题。

如果提示“python不是内部或外部命令”,说明Python没装或者没加到系统路径里。去Python官网下载一个最新稳定版,安装时务必勾选“Add Python to PATH” 。这一步别跳过,很多人栽在这儿。

💡 新手提示:如果你用的是Mac,系统自带了Python 2.7,但那个太老了。需要用 python3 命令来调用Python 3。如果 python3 --version 也不行,就去装一个。

第二步:安装Playwright库
就一行命令:

pip install playwright
如果你电脑上有多个Python版本,用这个更保险:

python -m pip install playwright
等它跑完,屏幕上会出现一堆进度条。看到“Successfully installed”就说明库装好了。

💡 新手提示:下载慢的话可以换成国内镜像源,比如 pip install playwright -i https://pypi.tuna.tsinghua.edu.cn/simple。

第三步:安装浏览器驱动(最容易出错的一步,认真看)
装完库之后,还需要装浏览器。这是Playwright和别的库不太一样的地方——它会自动下载Chromium、Firefox、WebKit三个浏览器的内核。

执行:

playwright install
这一步会下载大概1GB左右的文件,网速慢的话可能需要等几分钟。耐心等它跑完,不要中途取消。

如果你只想装Chromium(Chrome内核),可以只装这一个,省时间:

playwright install chromium
⚠️ 常见坑1:如果你在中国大陆,下载浏览器可能会超时或极慢。解决方案是用国内镜像:

set PLAYWRIGHT_DOWNLOAD_HOST=https://registry.npmmirror.com/-/binary/playwright
playwright install
Windows用户把 set 换成 $env:(PowerShell)或者直接配置环境变量。

⚠️ 常见坑2:Mac/Linux用户如果提示权限不够,前面加 sudo。

装完之后,可以验证一下:

playwright --version
能看到版本号就说明一切正常。

第四步:写你的第一个脚本
新建一个文件,名字随便,比如叫first.py。

把下面这段代码原封不动复制进去:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:

# 启动浏览器(headless=False 表示能看到浏览器窗口)
browser = p.chromium.launch(headless=False)
page = browser.new_page()

# 打开百度
page.goto("https://www.baidu.com")

# 在搜索框输入文字
page.locator("#kw").fill("Playwright 教程")

# 点击搜索按钮
page.locator("#su").click()

# 等页面加载完,截图保存
page.wait_for_load_state("networkidle")
page.screenshot(path="baidu_result.png")

# 关闭浏览器
browser.close()

print("搞定!截图已保存。")

保存文件,然后在终端里运行:

python first.py
如果你是Mac且用python3 装的库,就用:

python3 first.py
见证奇迹的时刻——你会看到一个浏览器窗口自动弹出来,打开百度,输入文字,点击搜索,然后自己关掉。

去你的文件夹里找一下,应该有一个叫baidu_result.png 的截图文件。点开看看,是不是百度搜索“Playwright 教程”的结果页面?

第五步:如果你想让脚本“录”出来(更简单的方式)
不想自己敲代码?Playwright有个内置的录制工具叫codegen。

在终端输入:

playwright codegen https://www.baidu.com
它会自动打开一个浏览器窗口和一个代码生成面板。你在浏览器里点哪里、输入什么,代码面板里就会实时生成对应的脚本。

操作完之后,直接把生成的代码复制出来就行——一行都不用自己写。

常见问题速查表
问题
解决方案
pip install playwright
报错
检查网络,或换国内镜像源
playwright install
下载超慢
用PLAYWRIGHT_DOWNLOAD_HOST 配清华镜像
提示“权限不足”
Mac/Linux加sudo,Windows用管理员身份运行终端
python
命令找不到
装Python时勾选“Add Python to PATH”
浏览器闪一下就关
检查代码里有没有headless=False,或者截图前加page.wait_for_timeout(3000)
元素找不到
检查页面是否加载完,或者定位符(#kw、#su)对不对
最后说两句
走到这一步,你已经成功跑通了第一个Playwright自动化脚本。

从一个完全没接触过自动化的人,到能让浏览器自己干活——这个成就感还是挺爽的,对吧?

接下来你可以玩的花样就多了:爬数据、做UI自动化测试、定时截图监控网站变化……这些都是同一个工具能做的事。

如果这篇教程帮到了你,欢迎收藏或转发给身边同样想入门自动化测试的朋友。有问题也可以在评论区留言,看到了都会回。

下一个10分钟,试试把https://www.baidu.com 换成你喜欢的任何网站吧。

相关文章
|
存储 缓存 文件存储
如何保证分布式文件系统的数据一致性
分布式文件系统需要向上层应用提供透明的客户端缓存,从而缓解网络延时现象,更好地支持客户端性能水平扩展,同时也降低对文件服务器的访问压力。当考虑客户端缓存的时候,由于在客户端上引入了多个本地数据副本(Replica),就相应地需要提供客户端对数据访问的全局数据一致性。
33076 80
如何保证分布式文件系统的数据一致性
|
前端开发 容器
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局(上)
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局
17818 24
|
设计模式 存储 监控
设计模式(C++版)
看懂UML类图和时序图30分钟学会UML类图设计原则单一职责原则定义:单一职责原则,所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。bad case:IPhone类承担了协议管理(Dial、HangUp)、数据传送(Chat)。good case:里式替换原则定义:里氏代换原则(Liskov 
36801 22
设计模式(C++版)
|
存储 编译器 C语言
抽丝剥茧C语言(初阶 下)(下)
抽丝剥茧C语言(初阶 下)
|
机器学习/深度学习 人工智能 自然语言处理
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
24873 15
|
机器学习/深度学习 弹性计算 监控
重生之---我测阿里云U1实例(通用算力型)
阿里云产品全线降价的一力作,2023年4月阿里云推出新款通用算力型ECS云服务器Universal实例,该款服务器的真实表现如何?让我先测为敬!
36786 15
重生之---我测阿里云U1实例(通用算力型)
|
SQL 存储 弹性计算
Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
存储 算法 Java
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的限流器RateLimiter功能服务
随着互联网的快速发展,越来越多的应用程序需要处理大量的请求。如果没有限制,这些请求可能会导致应用程序崩溃或变得不可用。因此,限流器是一种非常重要的技术,可以帮助应用程序控制请求的数量和速率,以保持稳定和可靠的运行。
29925 52

热门文章

最新文章