【爬虫脚本自动化录制】playwright-codegen使用教程
1 前言
在做 Web 自动化测试、爬虫脚本开发时,手动写定位、写操作步骤往往耗时又容易出错。Playwright 官方提供了一个零代码录制神器:
codegen,只需要在浏览器里用鼠标点击,就能自动生成可直接运行的 Python/Java/JS 自动化代码,极大提升开发效率。
2 什么是 playwright codegen?
codegen 是 Playwright 内置的交互式录制工具,核心功能:
-
记录鼠标点击、输入、选择、滚动、切换页面等操作
-
实时生成高质量、可直接运行的代码
-
自动识别 iframe、弹窗、下拉框等复杂场景
-
支持 Python / Node. js / Java / C# 多语言导出
适用场景:快速生成登录脚本、表单提交、页面遍历、爬虫操作等。
3 环境准备
3.1 安装 Playwright
1 | pip install playwright |
3.2 安装浏览器驱动
1 | playwright install |
会自动安装 Chromium、Firefox、WebKit 内核。
4 codegen 基础使用
4.1 直接启动录制
1 | playwright codegen 网址 |
示例:打开百度并录制
1 | playwright codegen https://www.baidu.com |
执行后会弹出两个窗口:
-
左侧:浏览器页面(你手动操作)
-
右侧:Playwright Inspector(实时生成代码)

4.2 操作演示
-
在百度搜索框输入“CSDN”
-
点击“百度一下”
-
等待页面跳转
-
关闭浏览器

右侧会自动生成完整 Python 代码,复制即可直接运行。生成代码如下:
1 | import re |
5 常用高级参数
| 参数 | 作用 | 示例 |
|---|---|---|
-o 文件名.py |
将录制代码保存到文件 | playwright codegen -o test.py https://www.baidu.com |
--browser |
指定浏览器(chromium/firefox/webkit) | --browser firefox |
--device |
模拟手机设备 | --device "iPhone 15" |
--slowmo 毫秒 |
慢放操作,避免录制过快 | --slowmo 1000 |
--lang |
指定生成语言(python/js/java/csharp) | --lang java |
--viewport |
指定窗口大小 | --viewport 1920,1080 |
常用组合示例:
1 | # 录制并保存,慢放 1 秒,模拟 iPhone 15 |
6 实战案例:录制 CSDN 登录脚本
6.1 开始录制
1 | playwright codegen -o csdn_login.py https://passport.csdn.net/login |

6.2 手动操作步骤
-
选择“密码登录”
-
输入用户名
-
输入密码
-
处理滑块/验证(手动完成)
-
点击登录
6.3 自动生成代码示例
1 | from playwright.sync_api import Playwright, sync_playwright, expect |
7 录制后代码必须优化
codegen 生成的代码能跑,但不够健壮,建议优化:
7.1 添加显示等待(防止页面未加载)
1 | page.get_by_role("button", name="登录").wait_for(state="visible") |
7.2 使用 expect 断言
1 | expect(page.get_by_role("button", name="登录")).to_be_enabled() |

1 | # 1.断言“验证码登录”文字对应的元素在页面上可见,用于判断登录区域加载完成 |
7.3 处理 iframe
如果页面嵌套 iframe,codegen 会自动生成 frame_locator,建议精简:
1 | login_frame = page.frame_locator("iframe[name='login_frame']") |
7.4 去掉冗余操作
删除重复的 click()、无用的等待和多余定位。