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


目录
相关文章
|
3天前
|
Python
办公自动化-Python如何提取Word标题并保存到Excel中?
办公自动化-Python如何提取Word标题并保存到Excel中?
13 2
|
1天前
|
XML 数据格式 Python
Python自动化脚本编写技巧
本文介绍了Python自动化脚本的编写技巧:选择合适的库(如os, requests, BeautifulSoup)以简化编程,利用循环和条件语句实现流程控制,通过函数和模块提高代码的可读性和可维护性,使用异常处理保证脚本稳定性,以及借助日志记录进行问题追踪。通过这些方法,可以编写出高效、稳定的自动化脚本。
|
1天前
|
Web App开发 JSON 测试技术
Python在自动化测试中的角色
本文探讨了Python在自动化测试中的关键作用,强调其语法简洁、丰富的库和框架(如Selenium和Appium)、跨平台兼容性和可扩展性。通过示例展示了Python结合Selenium进行Web自动化测试以及使用requests库进行API自动化测试的应用,指出Python在自动化测试领域的日益重要性。
|
3天前
|
算法 程序员 开发工具
GitHub上新!14个Python项目详细教程(附完整代码)
Python作为程序员的宠儿,越来越得到人们的关注,使用Python进行应用程序开发的也越来越多。 今天给小伙伴们分享的这份项目教程完整代码已上传至GitHub,你可以选择跟着这份教程一段一段的手敲出来这几个项目,也可以直接从GitHub上copy下来。
小白入门必备!计算机科学教程的Python精要参考PDF开放下载!
随着互联网产业的高速发展,在网络上早已积累了极其丰富的Python学习资料,任何人都可以基于这些资源,自学掌握 Python。 但实际上,网络上充斥的资源太多、太杂且不成体系,在没有足够的编程/工程经验之前,仅靠“看”线上资源自学,的确是一件非常困难的事。
|
3天前
|
C语言 Python
专为编程小白设计的Python零基础入门教程,GitHub星标破W
市面上大多数技术类的书籍都着重于一步步的构建系统的知识体系,并不是说这样就是不对的,但这样按部就班的学习注定了需要花费大量的时间用来掌握“基础知识”,或死记硬背,或慢慢理解。 然而世界不会迁就你,而是在步步紧逼的告诉你要赶紧学完,赶紧找工作,赶紧挣钱,这才是你生活的基础。 今天给小伙伴们带来了一份《编程小白的第一步Python书》,这本书是专为零基础小白设计的,不会告诉“先学C语言,会更好理解Python”这种狗屁道理。而是先带你掌握搭建项目所用到的最少得知识,再真实的项目搭建中实践自己的所学,逐渐的完善知识体系
|
5天前
|
存储 算法 安全
Python编程实验六:面向对象应用
Python编程实验六:面向对象应用
21 1
|
5天前
|
Python
Python编程作业五:面向对象编程
Python编程作业五:面向对象编程
20 1
|
1天前
|
机器学习/深度学习 数据处理 算法框架/工具
Python标准库与第三方库:强大的编程资源
Python标准库与第三方库:强大的编程资源
|
2天前
|
Python 容器
Python与GUI编程:创建图形用户界面
Python的Tkinter库是用于构建GUI应用的内置工具,无需额外安装。它提供了丰富的控件,如按钮、文本框等,让用户通过图形界面与程序交互。创建GUI窗口的基本步骤包括:导入Tkinter库,创建窗口对象,设置窗口属性,添加控件(如标签和按钮),并使用布局管理器(如`pack()`或`grid()`)来组织控件的位置。此外,可以通过绑定事件处理函数来响应用户操作,例如点击按钮。Tkinter还有更多高级功能,适合开发复杂GUI应用。