【python自动化】Playwright基础教程(三)定位操作

简介: 【python自动化】Playwright基础教程(三)定位操作

定位操作

定位操作都在Page类下。养成看源码的习惯,结合官方文档,源码还写了例子,真的是很详细了。

按alt文本定位元素-get_by_alt_text()

使用频率:★☆☆☆☆

释义:按alt属性的文本进行定位元素。

网页代码:

image.png


定位用法:

image.png

参数:

· text:str,输入要查找元素的文本。

· exact:bool,是否找到完全匹配项:区分大小写和全字符串。默认为 false。

按标签定位元素-get_by_label()

使用频率:★☆☆☆☆

释义:允许按关联 <label> or aria-labelledby 元素的文本或 aria-label 属性查找输入元素。

网页代码:

image.png

定位用法:

image.png

参数:

· text:str,输入要查找元素的文本。

· exact:bool,是否找到完全匹配项:区分大小写和全字符串。默认为 false。

 

占位符定位-get_by_placeholder()

使用频率:★★★★☆

释义:按占位符文本定位

网页代码:

image.png

 

定位用法:

image.png

参数:

· text:str,输入要查找元素的文本。

· exact:bool,是否找到完全匹配项:区分大小写和全字符串。默认为 false。

角色属性定位-get_by_role()

使用频率:★★☆☆☆

释义:通过ARIA角色、ARIA属性和可访问名称定位元素

网页代码:

image.png

定位用法:

image.png

参数:太多了,看源码吧,其中role参数比较重要,比如alert就可以用来点击弹窗。

·

role:必填项,可选如下

· image.png


name:str,匹配辅助名称的选项。默认情况下,匹配不区分大小写,并搜索子字符串,用于 exact 控制此行为。

·

测试ID定位-get_by_test_id()

使用频率:★★★★☆

 

释义:通过测试ID定位元素

 

注意事项:默认情况下, data-testid 属性用作测试 ID。如有必要,请使用selectors.set_test_id_attribute() 配置不同的测试 ID 属性。

 

网页代码:

image.png

定位用法:

image.png

参数:

· test_id: str,元素的ID

文本定位-get_by_text()

使用频率:★★★★☆

释义:通过给定的文本进行元素匹配。

网页代码:

image.png


注意我第一个梦无矶后面是有一个空格的。

定位用法:

image.png

参数:

· text:str , 要查找元素的文本。

· exact:bool,是否找到完全匹配项:区分大小写和全字符串。默认为 false。

标题定位-get_by_title()

使用频率:★★★☆☆

释义:通过标题文本进行定位元素

网页代码:

image.png

定位用法:

image.png


数:

· text:str,标题文本

· exact,bool,是否找到完全匹配项:区分大小写和全字符串。默认为 false。

定位器定位-locator()

使用频率:★★★★★

释义:该方法返回可用于在此页面/框架上执行操作的元素定位器。定位器在执行操作之前立即解析为元素,因此实际上可以在不同的 DOM 元素上对同一定位器执行一系列操作。

 

这里面我们可以理解为selenium中的css selector,xpath selector定位,用xpath更多。

 

定位用法:

image.png


参数:

 

selector:str,解析DOM元素时要用的选择器,如标签选择器。

has_text: 匹配包含指定文本的元素,这些元素可能包含在子元素或后代元素中。传递 [string] 时,匹配不区分大小写并搜索子字符串。例如, "Playwright" 匹配 <article><div>Playwright</div></article> .

has_not_text: 匹配不包含指定文本的元素,这些元素可能包含子元素或后代元素。传递 [string] 时,匹配不区分大小写并搜索子字符串。

has:匹配包含与内部定位器匹配的元素的元素。根据外部定位器查询内部定位器。例如, article has text=Playwright 匹配 <article><div>Playwright</div></article> 项。

has_not:匹配不包含与内部定位器匹配的元素的元素。根据外部定位器查询内部定位器。例如,article has_not div 匹配 <article><span>Playwright</span></article> 项。


目录
相关文章
|
2月前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
75 14
|
2月前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
158 61
|
15天前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
55 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
25天前
|
存储 安全 数据可视化
用Python实现简单的任务自动化
本文介绍如何使用Python实现任务自动化,提高效率和准确性。通过三个实用案例展示:1. 使用`smtplib`和`schedule`库自动发送邮件提醒;2. 利用`shutil`和`os`库自动备份文件;3. 借助`requests`库自动下载网页内容。每个案例包含详细代码和解释,并附带注意事项。掌握这些技能有助于个人和企业优化流程、节约成本。
55 3
|
2月前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
80 7
|
2月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
2月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
122 80
|
6天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
38 5
Python高性能编程:五种核心优化技术的原理与Python代码

热门文章

最新文章