Hello Playwright:(5)查找元素

操作浏览器归根到底就是和页面进行交互,那么必不可少的操作就是查找页面上的元素。因此我们需要熟练掌握Locator 定位器。

在上一节我们讲过,可以使用Page.Locator(selector, options)方法创建定位器,而如何定位到元素则取决于selector 选择器

selector 选择器

选择器是用于创建定位器的字符串。那么,选择器应该如何编写呢?

515e1132144f7c7bad1b624b0ee8b38b.png

下面的例子都是以百度首页作为测试页面

文本选择器

文本选择器查找包含指定文本的元素,默认不区分大小写,并搜索子字符串。

例如,下面的代码都可以找到hao123链接:

Page.Locator("text=Hao123")Page.Locator("text=ao12")

CSS 选择器

CSS 选择器查找包含指定 CSS 的元素。

例如,查找搜索按钮:

Page.Locator(".s_btn")

XPath 选择器

可以使用 XPath 选择元素。

XPath 即 XML 路径语言(XML Path Language),它是一种用来确定 XML 文档中某部分位置的语言,同样可以用来定位 HTML 中某个元素的位置。

如果你不会 XPath 也不要紧,可以使用浏览器开发者工具,在元素选项卡中直接复制 XPath:

4742ab061b2295f27607e5e291d04dd1.png

例如,查找搜索按钮:

Page.Locator("//*[@id=\"su\"]")

属性选择器

目前,仅支持以下属性:

  • id

  • data-testid

  • data-test-id

  • data-test

例如,查找搜索按钮:

Page.Locator("id=su")

添加微信号【MyIO666】,邀你加入技术交流群

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

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

相关文章

RxSwift 之官方文档

RxSwift 官方文档结构 Introduction:SubjectsTransforming ObservablesFiltering ObservablesCombining ObservablesError Handing OperatorsObservable Utility OperatorsConditional and Boolean OperatorsMathematical and Aggregate OperatorsConnectable Observable Opera…

2019年甘肃省普通高等学校高职(专科)升本科考试招生工作实施办法

2019年甘肃省普通高等学校高职(专科)升本科考试招生工作实施办法 2019年甘肃省普通高等学校高职(专科)升本科考试招生工作实施办法 根据教育部有关规定及要求,结合我省实际,为确保普通高等学校高职&#x…

HTML基础之bit哥的反客为主之道(9)

作者简介 作者名:1_bit 简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。 目录 HTML基…

Atom编辑Markdown文件保存后行尾的空格自动消失的问题解决

Markdown文件的行尾增加两个空格表示一行结束需要换行。 但保存文件后,行尾的空格自动消失,导致不换行。 解决方法: 1、【Edit】->【Preferences】->【Packages】->【whitespace】->【Settings】->【Keep Markdown Line Brea…

将Abp移植进.NET MAUI项目

前言写在.NET MAUI官宣正式发布之际,热烈庆祝MAUI正式发布!去年12月份做了MAUI混合开发框架的调研,想起来文章里给自己挖了个坑,要教大家如何把Abp移植进Maui项目。熟悉Abp的同学都知道,Abp 是一套强大的应用程序设计时…

采用ArcGIS 10.6制作漂亮的点阵世界地图,完美!!!

如下图所示,怎样制作完美漂亮的点阵世界地图呢?今天我就教大家吧! 其实,制作过程相当简单,主要的思路是通过世界地图范围去创建渔网(标注点),再选择范围内的标注点,符号化即可,怎么样,很简单吧,下面我们一步一步来实现吧。 1. 加载世界地图 打开ArcGIS软件,加载软…

懒办法1篇文10分钟快速入门MySQL增删查改

作者简介 作者名:1_bit 简介:CSDN博客专家,2020年博客之星TOP5,InfoQ签约作者,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你…

大话领域驱动设计——领域层

概述在DDD中,业务逻辑主要分布在领域层和应用层两层,他们包含不同的业务逻辑。这一篇,我们先对领域层做详细的讲解分析。领域层实现了领域或系统的,与用户界面上的用户交互(用例)无关的核心业务逻辑。总览领…

【北斗】北斗卫星导航系统(BDS)介绍

一、概述 北斗卫星导航系统(以下简称北斗系统)是中国着眼于国家安全和经济社会发展需要,自主建设运行的全球卫星导航系统,是为全球用户提供全天候、全天时、高精度的定位、导航和授时服务的国家重要时空基础设施。 北斗系统提供服务以来,已在交通运输、农林渔业、水文监…

正则验证金额大于等于0,并且只到小数点后2位

2019独角兽企业重金招聘Python工程师标准>>> ^(([0-9]|([1-9][0-9]{0,9}))((\.[0-9]{1,2})?))$ 转载于:https://my.oschina.net/u/934148/blog/528688

我结婚了,我要用什么做个邀请函呢?【iVX无代码YYDS 06】

作者简介 作者名:1_bit 简介:CSDN博客专家,2020年博客之星TOP5,InfoQ签约作者、CSDN新星导师,华为云享专家。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#…

《微软云计算Microsoft Azure部署与管理指南》即将上市!!!

大家好,本人新作《微软云计算Microsoft Azure部署与管理指南》即将与广大读者见面,由电子工业出版社出版。希望大家能关注此书,并推荐给身边的好友和技术人员。 众所周知,Microsoft Azure是专业的国际化公有云平台, 是微软研发的公…

如何解决分布式日志exceptionless的写入瓶颈

我们都知道在分布式日志当中,exceptionless客户端是把日志写到Elasticsearch数据库,就像我们把数据写入到关系数据库一样;既然是写入,那么在短时间大数据量的情况下,写入就会涉及到效率的问题;首先我们看下…

iVX 基础

1.1 iVX 线上集成环境进入 点击 连接 或通过浏览器输入网址 https://editor.ivx.cn/ 进入线上集成开发环境。 进入 在线集成开发环境 后,可点击右上角 登录/注册 进行帐号登录或者注册。登录账户 后在进行项目开发时会自动保存项目开发进度。 [外链图片转存失败…

Android之靠谱的把图片和视频插入手机系统相册

1 需求 把图片和视频插入手机系统相册,网上查了下基本上很乱,没几个靠谱的。 2 结果爆照 3 思路 图片插入系统相册(可以直接插入系统相册,但是我这里多做了一步就是先把图片拷贝到了一个目录再插入系统相册) 视频插入系统相册(先把视频拷贝到MIUI目录,然后再…

C# WPF 实现Tab页动态增减

概述Tab页面是一个很常用的控件&#xff0c;针对页面固定的场景&#xff0c;直接给Item进行数据绑定就行&#xff0c;如下所示&#xff1a;<dx:DXTabControl cal:Message.Attach"[Event Loaded][TabControl_Loaded($source,$eventArgs)]"><dx:DXTabItem Hea…

2014 网选 上海赛区 hdu 5047 Sawtooth

题意&#xff1a;求n个M型的折线将一个平面分成的最多的面数&#xff01; 思路&#xff1a;我们都知道n条直线将一个平面分成的最多平面数是 An An-1 n1 也就是f(n) (n*n n 2)/2 对于一个M型的折线呢&#xff1f;它有四条线&#xff0c;但是由于三个顶点的关系导致划分的平…

二、基础(IVX快速开发手册)

二、基础 通过本节你将了解 iVX 所支持应用的创建方法。 文章目录二、基础2.1 iVX 线上集成环境进入2.2 创建项目2.3 选择项目类型2.3.1 WebApp/小程序/原生应用2.3.2 微信小游戏2.3.3 微信小程序&#xff08;原生组件&#xff09;2.1 iVX 线上集成环境进入 点击 连接 或通过…

Android之TabLayout+ViewPager2+FragmentStateAdapter实现带数字变化的TAB选项

1 问题 TabLayout+ViewPager2实现带数字变化的TAB选项,然后左边滑动或者点击上面的Tab切换fragment不能刷新 2 结果爆照 3 代码实现 layer_tab_indicator.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="h…

slq2000数据库升级到sql2012

看到标题&#xff0c;估计有同行笑了&#xff0c;这年代还有用sql2000的&#xff1f;真的有&#xff0c;最近单位服务器数据迁移升级&#xff0c;将数据库迁移到新服务器后&#xff0c;发现数据全是2000的&#xff0c;无法直接导入到sql2012。没办法&#xff0c;只能先将数据库…