五分钟学会Playwright录制脚本的方法以及语法难点

news2024/11/23 7:45:11


 这篇文章系统地介绍了上手Playwright的方法,但是录制脚本部分讲解不够详尽,今天我在这里重点的介绍一下Playwright 录制脚本的方法来丰满我的Playwright系列技术文章。

Playwright可以使用codegen来录制脚本,使用方式非常简单,只要大家玩过ui自动化测试的录制相关工具五分钟就可以学会上手!

playwright Inspector进行录制

playwright Inspector进行页面录制非常简单,使用如下命令即可

playwright codegen https://www.baidu.com/

会启动chromium的浏览器页面,我们鼠标触碰的地方会被标记为红色,并显示其元素属性,如下图所示:

 

操作的过程会通过playwright Inspector记录,如下图所示:

 

录制过程直接生成py脚本

使用下面的命令会把我们在浏览器中的操作脚本化并保存到baidu_test.py中,

playwright codegen --target python -o baidu_test.py -b chromium https://www.baidu.com/

录制实例代码分析:

from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
      browser = playwright.chromium.launch(headless=False)
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://www.baidu.com/")
      page.locator("#kw").click()
      page.locator("#kw").fill("test")
      page.get_by_role("button", name="百度一下").click()
      page.close()
      context.close()
      browser.close()
with sync_playwright() as playwright:
     run(playwright)

相信有过自动化测试基础的同学都很容易理解关于page.goto()、page.locator("#kw").click(),page.locator("#kw").fill("test") 这些api的定义,就是最基础的操作:访问网页,点击元素,和输入数据,

上面的脚步中有两处python 语法需要说明一下

(playwright: Playwright) -> None

该用法叫做函数注释 Function Annotations,大家可以参考文章:

https://blog.csdn.net/liwenxiang629/article/details/112466737

with sync_playwright() as playwright:

with …as用于异常处理,可以使代码更简洁、可读性更强,大家可以参考文章

https://blog.csdn.net/liwenxiang629/article/details/130620609

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/540001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows 安全基础

Windows 隐藏账号 命令行输入以下命令,可以进行简单的隐藏(命令行下不可见) net user test$ 123456 /add net localgroup administrators test$ /add 通过注册表隐藏用户(实现步骤如下): 要实现很好的…

文生图关键问题探索:个性化定制和效果评价

文生图(Text-to-Image Generation)是AIGC(AI Generated Content,人工智能生成内容)的一个主要方向。近年来,文生图模型的效果和质量得到飞速提升,投资界和研究界都在密切关注文生图模型的进展。…

二苯基环辛炔-生物素,DBCO-Biotin点击化学DBCO生物素;CAS:1418217-95-4

中文名称:二苯并环辛炔-生物素 英文名称:DBCO-Biotin CAS:1418217-95-4 分子式:C28H30N4O3S 分子量:502.63 性状:固体粉末 保存方法:-20℃避光避湿保存 点击化学DBCO发生在水中&#xff…

了解这3大特性,再也不担心传输线问题了!

电阻是一个实实在在的物理元器件,通过欧姆定律我们可以知道,电压、电流和电阻三者之间的关系,UI*R。 我们通过一个具体的电路来分析这三者之间的具体关系,请看下面的一张最简单的电路图。这个电路图只有一个电源一个电阻和一些导…

JVM如何安装IBM产品虚拟机openJ9和idea更换jvm

安装前提是卸载掉其他产品或版本的虚拟机防止冲突的发生 1.openJ9是IBM产品的虚拟机 1.1官网下载 1.2openJ9官网介绍 2.下载后的产品 3.点击安装–选择默认安装路径 默认路径–C:\Program Files\Semeru\ 3.1安装完成 4.配置jdk环境变量JAVA_HOME 5.配置Path–作用是在操作…

【游戏逆向】某某游戏邮件遍历分析

邮件常常用来远程交易,这样可以节省交易时间,并且降低数据的需求。邮件遍历的分析,一般是以邮件名字,邮件数量等为突破口。不过有些游戏的邮件名字并不存放在邮件对象中,或者在对象中也不会改变邮件的本地显示&#xf…

Canal搭建 idea设置及采集数据到kafka

Canal GitHub:https://github.com/alibaba/canal#readme 实时采集工具canal:利用mysql主从复制的原理,slave定期读取master的binarylog对binarylog进行解析。 canal工作原理 canal模拟MySQL slave的交互协议,伪装自己为MySQL slav…

tb-gateway配置modbus

1、在tb_gateway.yaml开启modbus连接器 2、配置modbus.json 2.1、配置文件示例 {"master": {"slaves": [{"host": "127.0.0.1","port": 5021,"type": "tcp","method": "socket",…

DBCO-Cy3,荧光染料标记点击化学二苯基环辛炔CAS 1782950-79-1;DBCO-Cyanine3分子量983.18

中文名称:二苯基环辛炔-CY3 中文别称:花菁染料CY3标记DBCO 英文名称:DBCO-CY3 英文别称:DBCO-Cyanine3 性状:红色固体或粉末 分子量:983.18 分子式:C50H54N4O11S3 CSA:1782950-79-1 激发…

ESP32-S3 N8R2 烧录调试记录

ESP32 型号:ESP32-S3-WROOM-1(M0N8R2) ESP32 烧录器型号:ESP Prog v1.0 IOTMCU 烧录器的开关按键是复位按键。 接线图如下: 注意:RX连 RX TX连TX EN连RST Arudion IDE 配置如下: 注意 Arudino 中使用串口为 Serial…

【计算机网络】| Http.*协议该知道的那些事儿 | 面经

本文章参考了很多文档文献整理成狮子自己喜欢的风格类型文字,主要有: 《图解网络-小林coding》、Github上面的《前端语音社群》,ChatGpt 3.5 大家有兴趣可以去找来看看,一起上岸!!! 目录 面试官…

leecode654——最大二叉树

leecode最大二叉树 🌻题目要求: 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的…

数据信托:可信的数据流通模式

数据信托:可信的数据流通模式 黄京磊, 李金璞, 汤珂 清华大学社会科学学院经济学研究所,北京 100084 摘要:数据信托可被视作一种新型的、可信的数据流通模式。数据信托不仅是一种保障信息安全的组织结构,还是一种增进数据要素市场…

DreamGPT - 基于生成式AI的灵感激发器

dreamGPT是第一个利用LLM大模型的幻觉(hallucinations)进行发散思维的灵感激发系统,目的是帮助你产生新的创新想法。 推荐:用 NSDT设计器 快速搭建可编程3D场景。 LLM的幻觉通常被视为大模型的缺陷,但如果这一特性可以…

什么是KD树?

一、什么是KD树? KD树(K-Dimensional Tree)是一种用于高效处理多维数据的数据结构。它是二叉搜索树的一种变体,在每个节点上对数据进行分割,从而构建一个多维空间的层次结构。 因为KD树是基于二叉搜索树的特性构建的&…

【C++初阶】C++内存分配与动态内存管理

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C初阶 🎯长路漫漫浩浩,万事皆有期待 文章目录 C内存分配与动态内存管…

端口扫描的CS木马样本的分析

序言 病毒、木马是黑客实施网络攻击的常用兵器,有些木马、病毒可以通过免杀技术的加持躲过主流杀毒软件的查杀,从而实现在受害者机器上长期驻留并传播。 CobaltStrike基础 Cobalt Strike简称CS,它是一款非常好用的渗透测试工具&#xff0c…

网络编程--select实现IO复用

何为复用 简单来说,复用就是在1个通信频道中传递多个数据的技术。 常见的复用方式有时分复用和频分复用。 时分复用:即在某一时间段内容,只允许传输一个数据。 频分复用:指的是在某一时间段可以传输多个“频率”不同的数据。 …

朱金宝:数据治理产品发展趋势及Datablau产品最新动态

在刚刚结束的2023数据治理新实践峰会上,Datablau数语科技联合创始人&CTO朱金宝先生分享了对数据治理产品发展趋势的深度思考及Datablau新产品预览,并在现场发布了两款最新工具。 以下是朱金宝先生的演讲实录,为了方便阅读,小…

商家中心之java商城 java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…