【Playwright自动化】录制生成脚本

一、Playwright制生成脚本

命令行录制生成脚本

Playwright 提供了内置的脚本录制工具,可以自动生成测试脚本,简化编写自动化测试的过程。以下是具体操作方法:

启动录制模式

运行以下命令启动浏览器并开启录制功能:

复制代码
playwright codegen  https://www.baidu.com

启 动 后, 电脑 上出 现 2 个窗口,左 边 是 浏览 器打开网站可以操作,右 边 是 inspector 可以生成 对应
的脚本

录制操作流程

  1. 打开的浏览器中执行所有需要录制的操作(点击、输入等)。
  2. 操作会实时转换为脚本并显示在侧边栏。
  3. 点击复制按钮将生成的脚本保存到文件。

录制功能的高级用法

  • 多语言支持 :通过 --target 参数指定生成语言(如 npx playwright codegen --target=python
  • 设备模拟 :添加 --device="iPhone 11" 模拟移动端操作
  • 保存录制会话 :使用 --output 参数指定脚本保存路径
  • 录制特定站点 :直接指定URL(如 npx playwright codegen https://example.com

保留经过身份验证的状态
运行 codegen 以在会 话结 束 时 --save-storage 保存 cookie 和 localStorage 。 这对 于 单 独 记录 身份
验证 步 骤 并在稍后的 测试 中重用它很有用。
执 行身份 验证 并关 闭浏览 器后, auth.json 将包含存 储 状 态 。

复制代码
playwright codegen --save-storage=auth.json

运行 --load-storage 以消耗先前加 载 的存 储 。 这样 ,所有的 cookie 和 localStorage 都将被恢复,使
大多数网 络应 用程序 进 入身份 验证 状 态 。

复制代码
playwright open --load-storage=auth.json url
playwright codegen --load-storage=auth.json url

注:可通过插件形式录制

谷歌插件直接搜(需要进行科学上网)

二、录制实战

登录deepseek,获取token,实现下次免登录:

1.访问deepseek 网站:https://www.deepseek.com/en/vl

2.点击开始对话

3.选择密码登录,输入账号密码,然后点击登录

理清楚步骤之后,我们在控制台输入命令,开始录制脚本:

复制代码
playwright codegen --save-storage=auth.json

收获1:我们成功录制了登录的脚本

python 复制代码
import time

from playwright.sync_api import Page, expect


def test_example(page: Page) -> None:
    page.goto("https://www.deepseek.com/en/vl")
    with page.expect_popup() as page1_info:
        page.get_by_role("link", name="开始对话 与 DeepSeek-V3.2 免费对话 体验全新旗舰模型").click()
    page1 = page1_info.value
    page1.get_by_text("密码登录").click()
    page1.get_by_placeholder("请输入手机号/邮箱地址").click()
    page1.get_by_placeholder("请输入手机号/邮箱地址").fill("你的账号")
    page1.get_by_placeholder("请输入密码").click()
    page1.get_by_placeholder("请输入密码").fill("你的密码")
    page1.get_by_role("button", name="登录").click()
    time.sleep(20)

收获2:获取到了token,下次可以携带token实现免登录

带token,实现免登录:

python 复制代码
 playwright open --load-storage=auth.json https://www.deepseek.com/en/vl

不带token:

python 复制代码
playwright open  https://www.deepseek.com/en/vl     
相关推荐
小张同学a.几秒前
Docker 容器实战 2—— docker 仓库
linux·运维·服务器·docker·容器
Android系统攻城狮12 分钟前
Linux PipeWire深度解析之pw_core_get_registry调用流程与实战(九十一)
linux·运维·服务器·音频进阶·pipewire音频实战进阶
其实防守也摸鱼13 分钟前
智能体推荐:精选 AI Agent 工具与实战指南
运维·开发语言·人工智能·学习·web安全·自动化
邪修king19 分钟前
Re:Linux 系统编程篇 (十二):进程篇(一)基础与 fork 系统调用全解
linux·运维·服务器
牢姐与蒯22 分钟前
Linux进程(五).之环境变量
linux·运维·服务器·ubuntu
ZGi.ai23 分钟前
ZGI 文件产物:生成报告后怎样交付
大数据·运维·workflow·权限管理·zgi·智能体交付·文件产物
楠楠子呀32 分钟前
号码状态核验:从数据清洗到合规处理的实现思路
运维·自动化
小周学学学42 分钟前
GLPI 项目解读:开源 IT 资产管理与 ITSM 服务台平台
运维·开源·自动化·资产管理
爱和冰阔落1 小时前
【Linux】多线程打印为什么会乱?pthread 创建、等待、退出、取消与分离全实战
linux·运维·c++·redis
小马同学-1 小时前
四、虚拟化技术
运维·云计算