python之playwright使用

本文介绍了如何使用Playwright库进行浏览器自动化安装、常见操作如录制、参数设置,以及Python接口的详细用法。重点讲解了浏览器驱动、设备模拟、地理位置设定等高级选项。开源地址和示例代码一并提供。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 安装

安装库

	pip install playwright

安装浏览器驱动(谷歌浏览器、火狐浏览器、webkit),这步比较慢,耐心等待安装

	python -m playwright install

在这里插入图片描述

2. 使用

2.1 可以录制:

	python -m playwright codegen

查看参数

python -m playwright codegen -h

参数说明:

选项:
  -V, --version                          输出版本号
  -b, --browser <browserType>            浏览器类型
  --color-scheme <scheme>                更改主题 取值 "light""dark"
  --device <deviceName>                  模拟设备,例如  "iPhone 11"
  --geolocation <coordinates>            指定地理位置 例如 "37.819722,-122.478611"
  --lang <language>                      指定语言区域 "en-GB"
  --save-storage <filename>          保存浏览器状态到指定文件
  --load-storage <filename>              载入指定文件浏览器状态
  --proxy-server <proxy>                 指定代理服务器 例如 "http://myproxy:3128""socks5://myproxy:8080"
  --timezone <time zone>                 失去设置 例如 "Europe/Rome"
  --timeout <timeout>                    超时设置,单位毫秒 (default: "10000")
  --user-agent <ua string>               指定UA
  --viewport-size <size>                 指定浏览器像素 "1280, 720"
命令:
  open [url]                             打开URL或用-b, --browser指定浏览器
  cr [url]                               打开URL用Chromium
  ff [url]                               打开URL用Firefox
  wk [url]                               打开URL用WebKit
  codegen [options] [url]                打开页面生成代码
  screenshot [options] <url> <filename>  页面截图
  pdf [options] <url> <filename>         保存页面为pdf
  install                                确保安装必要的浏览器驱动
  help [command]                         帮助

-h 查看帮助,也可写成–help

普通使用例子:

python -m playwright codegen --target python -o my.py -b chromium https://cway.top

其他参数说明:

-target 生成语言,有python/javascript/python-async/csharp可选,缺省值为python
-o 保存路径,也可以写成–output
-b 指定浏览器,浏览器选项如下(缺省默认为chromium):

cr 谷歌浏览器,或全称chromium
ff 火狐浏览器,或全称firefox
wk 全称webkit

–save-storage与–load-storage是个非常实用的命令,可以保存登录状态、加载登录状态
如下使用录制会保存登录状态文件

python -m playwright codegen --target python -o taobao.py -b chromium https://login.taobao.com/member/login.jhtml --save-storage cookie

如下使用录制会加载登录状态文件

python -m playwright codegen --target python -o taobao.py -b chromium https://login.taobao.com/member/login.jhtml --load-storage cookie
开源地址:

https://github.com/microsoft/playwright
https://github.com/microsoft/playwright-python

### 使用 Python Playwright 和 Pytest 进行自动化测试 #### 安装必要的库 为了构建基于 Python 的 UI 自动化测试框架,需安装多个依赖项。这些工具包括用于编写和运行测试的 `pytest` 及其扩展模块 `pytest-playwright`,以及浏览器自动化的核心组件 `playwright`。 ```bash pip install pytest playwright pytest-playwright ``` 对于 Chromium 浏览器的支持,则通过命令来完成相应驱动程序的下载: ```bash python -m playwright install chromium ``` 此操作会确保本地环境中具备执行自动化脚本所需的全部资源[^1]。 #### 编写第一个测试案例 创建简单的登录功能验证示例可以更好地理解整个流程。下面是一个基本结构,在这里定义了一个名为 `test_login.py` 文件中的函数用来模拟用户输入用户名密码并提交表单的过程。 ```python import pytest def test_successful_login(page): page.goto("http://example.com/login") # 替换成实际网址 page.fill("#username", "admin") page.fill("#password", "secret") page.click("button[type='submit']") assert page.url == "http://example.com/dashboard" ``` 上述代码片段展示了如何利用 Page 对象提供的方法与网页交互,并最终断言页面跳转到了预期的目标地址以确认登录成功[^2]。 #### 配置报告生成 为了让测试结果更加直观易读,推荐集成 Allure 报告生成功能。这不仅有助于团队成员之间分享测试进展,也方便定位失败原因。首先得安装 allure-pytest 插件: ```bash pip install allure-pytest ``` 接着可以在命令行中指定参数让 pytest 输出 allure 格式的日志文件夹路径: ```bash pytest --alluredir=./results tests/ ``` 最后借助于独立发布的 Allure 命令行工具或者 Jenkins 等 CI 平台上的插件来进行可视化展示[^3]。 #### 实际应用场景下的注意事项 当面对更复杂的业务逻辑时,建议采用 YAML 或 JSON 文件存储测试数据,使维护变得更加轻松;同时考虑引入 fixture 来管理前后置条件,提高代码复用率。另外,针对不同环境可能存在的差异(比如开发、预发布),应当灵活调整配置选项以适应变化的需求[^4]。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值