当前位置: 首页 > ops >正文

Playwright 常用命令、参数详解及使用示例

Playwright 常用命令、参数详解及使用示例

一、基础安装与初始化

安装CLI工具
npm install -g @playwright/cli
playwright install  # 安装浏览器驱动
生成测试代码

通过录制操作生成脚本:

npx playwright codegen https://example.com  -o test.py --target python
  • -o:输出文件路径
  • --target:生成语言(如python、javascript)
  • -b:指定浏览器(chromium/firefox/webkit)

二、核心参数详解

浏览器控制
  • --browser:指定浏览器类型(默认chromium)
  • --headed:显示浏览器界面(默认无头模式)
  • --device:模拟移动设备(如"iPhone 11")
npx playwright test --browser=firefox --headed --device="Pixel 5"
调试与性能
  • --slowmo:操作延迟(毫秒)
  • --timeout:全局超时时间(默认30秒)
  • --viewport-size:设置窗口大小(如1280,720)
npx playwright test --slowmo=2000 --timeout=60000
输出与记录
  • --screenshot:截图模式(on/off/only-on-failure)
  • --video:录屏模式(同上)
  • --output:结果保存目录
npx playwright test --screenshot=on --video=retain-on-failure

三、配置文件示例

playwright.config.ts中定义默认参数:

import { defineConfig } from '@playwright/test';
export default defineConfig({timeout: 60000,use: {headless: false,viewport: { width: 1280, height: 720 },video: 'retain-on-failure'}
});

支持通过--config指定配置文件。

四、Python示例代码

from playwright.sync_api import sync_playwrightwith sync_playwright() as p:browser = p.chromium.launch(headless=False, slow_mo=1000)page = browser.new_page(viewport={"width": 1600, "height": 900})page.goto("https://example.com")page.screenshot(path="example.png", full_page=True)browser.close()

此代码启动可视化浏览器,设置视口大小并截图。

五、高级场景

设备模拟
npx playwright open --device="iPhone 13" https://example.com

模拟移动端浏览,自动适配UA和分辨率。

认证状态复用
npx playwright codegen --save-storage=auth.json  # 保存登录状态
npx playwright open --load-storage=auth.json    # 加载状态

完整参数列表可通过npx playwright --help查看最新文档。

http://www.xdnf.cn/news/9133.html

相关文章:

  • 精益数据分析(88/126):从营收平衡到规模化扩张——企业增长的最后一道关卡
  • 如何保护网络免受零日漏洞攻击?
  • php 实现基数排序
  • 编程规范Summary
  • ASP.NET Web Forms框架识别
  • 【论文精读】2024 arXiv --VEnhancer现实世界视频超分辨率(RealWorld VSR)
  • 【数据结构】——二叉树堆(下)
  • Windows系统下 NVM 安装 Node.js 及版本切换实战指南
  • 什么是 WPF 技术?什么是 WPF 样式?下载、安装、配置、基本语法简介教程
  • 云效流水线Flow使用记录
  • 论文阅读笔记——Step1X-Edit: A Practical Framework for General Image Editing
  • Oracle 正则表达式匹配(Oracle 11g)
  • Rockey Linux 安装ffmpeg
  • 抖音不获取位置会显示ip属地吗?全面解析
  • AWS EC2 实例告警的创建与删除
  • some面试题2
  • 15.进程间通信(一)
  • Linux 527 重定向 2>1 rsync定时同步(未完)
  • python打卡day38
  • Django【应用 02】第一个Django应用开发流程图
  • WPF【11_1】WPF实战-重构与美化(Entity Framework)
  • 分布式常见概念
  • 25.5.27学习总结
  • pod创建和控制
  • day38 python Dataset和Dataloader
  • OpenCV CUDA模块图像处理------颜色空间处理之GPU 上交换图像的通道顺序函数swapChannels()
  • Wan2.1 图生视频模型内部协作流程
  • 02.【Qt开发】Qt Creator介绍及新建项目流程
  • Python打卡 DAY 38
  • 华为高斯数据库(GaussDB)深度解析:国产分布式数据库的旗舰之作