【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲

简介: 【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲

 

鼠标悬停 - hover

有些元素,只有你鼠标移动到它那个位置上,他才会展开或者显示一些内容,这时候就要用到hover操作了。

使用方法

image.png

参数

image.png

可操作性检查表:https://playwright.dev/python/docs/actionability

 

此方法详细执行步骤

 

等待元素的可操作性检查,除非force设置为true

如果需要的话,将元素滚动到视图中。

使用page.mouse将鼠标悬停在元素的中心位置,或者是position所指定的位置。

等待启动的导航成功或四百,除非no_wait_after设置为true。

鼠标悬停实战

**案列:**打开百度首页,鼠标放置在左上角的更多位置(悬浮),会显示出百度的其他产品。

需实现效果展示:

image.png

代码流程

1、首先我们看一下更多这个元素如何定位

image.png

2、可以通过文本定位(但页面上有三个更多),这里这个更多是第一个,我们可以使用nth(0)或者first进行定位

·

image.png

3、可以通过class定位,唯一

image.png

4、可以通过name定位,唯一

image.png

在这里,class和name我均是使用的xpath定位,这个不熟悉的小伙伴可以单独学习一下。

 

Xpath我常用的:

 

使用元素的属性来定位元素,可以通过 [@属性名='属性值'] 的方式。

示例://input[@id='username'] 选取 id 属性为 “username” 的 input 元素。

 

xpath文本定位

完全匹配文本 //*[text()=“登录”]

包含某个文本 //*[contains(text(),“登录”)]

完整代码

image.png

输入内容 - fill

在输入框中输入一个值。类似于selenium中的send_keys()

使用方法

image.png


参数

image.png

此方法详细执行步骤

 

此方法会先进行可操作性检查(force为默认值时),聚焦元素,对目标元素进行input输入。

如果你想清空此元素的内容,你可以传入空字符串,value = ""。

如果目标元素无法输入文本,将会引发错误。

想要更加细致的输入操作,如模仿人为输入(每个字符之间有输入时间间隔),可以使用locator.type()

输入内容实战

**案例:**在搜素框输入梦无矶的测试开发之路

搜索框网页源码:

image.png

定位

1、根据ID定位

image.png

2、class定位

image.png

3、xpath定位

image.png

想不到吧,小小的一个搜索框竟然有如此多的定位方式。

完整代码

image.png

执行效果展示

image.png

清空内容实战

通过参数我们可以发现,text如果传入一个空值,那么就是进行内容清空。

这里我们先输入一段文本,再输入一个空字符。

执行后发现确实被清空了。教程代码,如果在学习的小伙伴,建议自己写一下运行一下,这些代码我都辛辛苦苦调试好了的,不学好浪费啊!

image.png

输入内容 - type

Tips

 

官方建议使用locator.fill()进行输入,只有当页面上需要执行特殊的按键操作的时候,才使用locator.type()

聚焦元素,输入文本时为文本中的每个字符执行 keydown, keypress/input, and keyup 事件。

若需要执行其他的特殊按键,比如Control,ArrowDown,请使用locator.press()。在后续章节我们会讲到。

使用方法

image.png

参数

image.png

模拟按键输入内容实战

依旧是使用fill操作中的搜索框进行输入。

完整代码

image.png

最终会在输入框中输入梦无矶的测试开发之路。这里就不截图了。

清除 - clear

清除输入字段

使用方法

image.png

参数

image.png

清除内容实战

这个清除是不是很像我们的fill传入控制符?

这里我们依然是在搜索框中输入内容,再清空。

image.png

目录
相关文章
|
6天前
|
Web App开发 人工智能 自然语言处理
Playwright MCP浏览器自动化指南
本文教你如何通过Playwright MCP让AI直接操作浏览器,自动运行和调试代码,无需手动切换界面。只需简单配置,即可用自然语言指挥AI完成页面操作、问题排查与自主修复,真正实现自动化高效开发。
|
27天前
|
人工智能 缓存 测试技术
Playwright进阶指南 (6) | 自动化测试实战
2025企业级测试解决方案全面解析:从单元测试到千级并发,构建高可用测试体系。结合Playwright智能工具,解决传统测试维护成本高、环境依赖强、执行效率低等痛点,提升测试成功率,内容从测试架构设计、电商系统实战框架、高级测试策略、Docker化部署、CI/CD集成及AI测试应用,助力测试工程师掌握前沿技术,打造高效稳定的测试流程。
Playwright进阶指南 (6) | 自动化测试实战
|
2月前
|
JavaScript 前端开发 测试技术
Playwright自动化测试系列课(4) | 异步加载克星:自动等待 vs 智能等待策略深度解析​
本文深度解析Playwright自动化测试中的等待策略,对比自动等待(零配置防御机制)与智能等待(精准控制异步场景)的核心差异。通过实战案例讲解等待机制的选择标准、常见失效原因及调试技巧,帮助开发者有效解决页面异步加载问题,提升测试脚本的稳定性和执行效率。
|
2月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
2月前
|
JavaScript 测试技术 API
Playwright自动化测试系列(3) | 第二阶段:核心技能与调试 ​​交互操作大全
本课程为Playwright自动化测试第三阶段,深入讲解核心交互操作与调试技巧。涵盖基础到高级交互、文件上传下载、疑难问题解决及复杂场景应对,并提供稳定性优化方案,帮助开发者高效构建健壮的自动化测试脚本。
|
2月前
|
XML Linux 区块链
Python提取Word表格数据教程(含.doc/.docx)
本文介绍了使用LibreOffice和python-docx库处理DOC文档表格的方法。首先需安装LibreOffice进行DOC到DOCX的格式转换,然后通过python-docx读取和修改表格数据。文中提供了详细的代码示例,包括格式转换函数、表格读取函数以及修改保存功能。该方法适用于Windows和Linux系统,解决了老旧DOC格式文档的处理难题,为需要处理历史文档的用户提供了实用解决方案。
155 0
|
1月前
|
数据采集 索引 Python
Python Slice函数使用教程 - 详解与示例 | Python切片操作指南
Python中的`slice()`函数用于创建切片对象,以便对序列(如列表、字符串、元组)进行高效切片操作。它支持指定起始索引、结束索引和步长,提升代码可读性和灵活性。
|
1月前
|
传感器 人工智能 JavaScript
Playwright实战:写UI自动化脚本,速度直接起飞
简介: 测试工程师老王因UI自动化问题深夜奋战,反映出传统测试工具的局限性。微软开源的Playwright凭借智能等待、跨域操作、移动端模拟与网络拦截等强大功能,正迅速取代Selenium,成为新一代自动化测试标准。其稳定高效的设计显著降低维护成本,助力企业构建高质量测试流程。
|
2月前
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。

热门文章

最新文章

推荐镜像

更多