【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     
相关推荐
南山十一少5 分钟前
docker的安装及使用
运维·docker·容器
taxunjishu13 分钟前
MODBUS TCP转Profinet 化工安全管控物联网网关实战案例
网络·物联网·自动化
Willliam_william13 分钟前
CentOS 7系统中进行时间/时区设置
linux·运维·centos
李白的天不白14 分钟前
linux安装MongoDB
linux·运维·服务器
BioRunYiXue18 分钟前
从现象到机制:蛋白降解调控研究的系统策略与实验设计
java·linux·运维·服务器·网络·人工智能·eclipse
supersolon23 分钟前
OpenClaw安装碰到的一些问题和解决方法
linux·运维·ai·openclaw·龙虾
sdm07042742 分钟前
linux权限
linux·运维·服务器
yuezhilangniao42 分钟前
大白话AI运维K8S整体思路和相关名词-结合腾讯云
运维·人工智能·kubernetes
新新学长搞科研1 小时前
【自动识别相关会议】第五届机器视觉、自动识别与检测国际学术会议(MVAID 2026)
人工智能·目标检测·计算机视觉·自动化·视觉检测·能源·语音识别
piepis1 小时前
Linux 下升级 Python 3.7 → 3.9(离线)并内网安装本地python-packages
linux·运维·python