【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> 项。


目录
相关文章
|
8天前
|
Python
Python办公自动化:删除任意页数pdf页面
Python办公自动化:删除任意页数pdf页面
20 1
Python办公自动化:删除任意页数pdf页面
|
8天前
|
Python
Python办公自动化:xlwings对Excel进行分类汇总
Python办公自动化:xlwings对Excel进行分类汇总
25 1
|
6天前
|
机器学习/深度学习 人工智能 运维
自动化运维的魔法:如何利用Python脚本提升工作效率
【9月更文挑战第29天】在数字时代的浪潮中,IT运维人员面临着前所未有的挑战和机遇。本文将通过深入浅出的方式,介绍自动化运维的基本概念、核心价值以及使用Python脚本实现自动化任务的方法。我们将从实际案例出发,探讨如何利用Python简化日常的系统管理任务,提高运维效率,并展望自动化运维的未来趋势。无论你是初学者还是有经验的运维专家,这篇文章都将为你开启一扇通往高效工作方式的大门。
10 2
|
8天前
|
数据安全/隐私保护 Python
Python办公自动化:给pdf加水印
Python办公自动化:给pdf加水印
10 0
|
8天前
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
11 0
|
29天前
|
运维 Ubuntu Devops
自动化运维工具的魅力:Ansible入门
【9月更文挑战第5天】在快速变化的IT世界里,自动化运维不再是可选项,而是必需品。Ansible,一款简单却强大的自动化工具,正成为众多DevOps工程师的首选。本文将带你了解Ansible的基本概念、安装步骤以及如何编写简单的Playbook,从而开启你的自动化之旅。
67 36
|
6天前
|
机器学习/深度学习 运维 Cloud Native
构建高效运维体系:从自动化到智能化的演进之路
在当今数字化时代,运维作为信息技术的重要支柱,其效率与创新能力直接关系到企业信息系统的稳定性和业务连续性。本文将探讨如何通过技术手段,实现运维从传统手工操作向自动化、智能化的转变,进而构建一个高效、可靠的运维体系。我们将从自动化工具的应用开始,逐步深入到智能运维的实践,最终展望云原生架构下的运维未来趋势。
|
9天前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进之路
在当今数字化时代,运维作为保障企业IT系统稳定运行的关键环节,正经历着前所未有的变革。本文将探讨如何通过实施自动化和引入智能化技术,构建一个更加高效、可靠的运维体系,以应对日益复杂的业务需求和技术挑战。
22 1
|
26天前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
20天前
|
机器学习/深度学习 运维 安全
构建高效运维体系:从自动化到智能化的演进之路
在数字化转型的浪潮中,运维管理作为信息技术基础设施的重要支柱,正经历着从传统手工操作向自动化、智能化的深刻变革。本文将探讨如何通过引入自动化工具和平台,实现运维流程的标准化与效率提升;进而利用大数据分析和人工智能技术,迈向预测性维护和智能决策支持的高级阶段。通过案例分析,揭示成功转型的关键因素,为运维专业人士提供一套可借鉴的升级路径。
下一篇
无影云桌面