云扩研习社 | RPA高级开发技巧(上)

news2024/12/23 22:46:39

高级元素选择技巧
XPath介绍

XPath是标准的结构化查询语言,内置丰富的语法、高阶函数可以提供非常强大的目标元素特征描述能力。

XPath是一种强大、复杂的查询语言;XPath与编辑器中内置的选择器没有本质区别,均可作为元素特征描述,可以用来定位元素;选择器实现不了的场景,XPath也可以胜任。XPath语法强大,但是使用者需要有一定的理解门槛。

如何在编辑器中使用XPath定位网页元素

在编辑器的选择器中可以使用XPath来定位浏览器的元素,以自动化组件“高亮”为例,步骤如下:

1)从左侧组件库拖拽一个自动化组件“高亮”至设计面板,在右侧属性面板中点击属性“选择器”右侧的“…”打开选择器窗口:
在这里插入图片描述
2)在选择器的弹窗中勾选“生成XPath(仅支持Web)”选项:

在这里插入图片描述

3)点击“指定元素”重新指定一个Web元素,例如百度一下按钮,此时选择器中的最后一个层级就自动生成了元素的XPath:

在这里插入图片描述

4)点击右侧的按钮可以打开XPath编辑窗口,选择默认提供的几种XPath,也可手动进行修改:
在这里插入图片描述

也可直接在节点的属性中点击右键“新增”,之后选择“XPath”。

在这里插入图片描述

如何在XPath中使用变量

在XPath中同样支持选择器中的变量使用方法,即“{{变量名}}”,需注意如在变量中有西文双引需要两个转义为一个,如图中的变量“String1”:
在这里插入图片描述

同时也支持变量和常量组合使用:

在这里插入图片描述

如何直接从网页获取XPath

XPath可使用编辑器自动生成,也可从浏览器中复制:按F12打开浏览器开发者模式->右键点击需要生成XPath的元素代码->选择Copy->Copy XPath->将复制过来的XPath粘贴到编辑器中使用即可:

在这里插入图片描述

XPath的语法

选取节点 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。

下面列出最常用的路径表达式:
在这里插入图片描述

一些路径表达式以及结果:

在这里插入图片描述

XPath运算符

在这里插入图片描述
在这里插入图片描述

IFrame选择器使用技巧

选择器支持录制IFrame中的元素,录制后每个元素会自动绑定到IFrame中而无需手动切换域。
在这里插入图片描述

IFrame选择器使用技巧

选择器支持录制IFrame中的元素,录制后每个元素会自动绑定到IFrame中而无需手动切换域。
在这里插入图片描述

推荐使用方法是在录制元素时直接指定IFrame中的元素即可,选择器中会自动生成该元素的信息。如需编辑也建议在指定元素的基础上进行修改。

确需手动编辑时,可在选择器的第三级或之后级节点增加“WebElement”属性,再在属性中依次添加该IFrame的信息,用来区分IFrame,如“Tag”、“Name”、“Id”、“Title”等,由于要切换的是IFrame,所以“Tag”需要为“IFrame”:

在这里插入图片描述

获取IFrame的信息可以通过浏览器的开发者模式查看,以qq邮箱登录页面为例,打开邮箱页面,之后按F12进入开发者模式,找到要操作的IFrame信息:

在这里插入图片描述

在完成IFrame的层级编辑后可编辑要操作的元素信息,这里就与其他Web元素一致,输入元素的信息,如“Name”、“Id”等,保存后即可操作IFrame中的元素:

在这里插入图片描述

多层IFrame时在选择器中依照层级依次创建IFrame节点,再在IFrame结束后输入要操作的元素信息即可:
在这里插入图片描述

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

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

相关文章

毕业设计 基于51单片机老人防跌倒GSM短信报警系统

基于51单片机无线蓝牙APP控LED灯亮灭亮度设计1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 GSM SIM800A模块电路设计2.2 蜂鸣器报警电路(低电平有效)设计2.3 ADXL345倾角传感器模块电路设计2.4 DS18B20温度传感器模块电路设计3、部分代码展示…

面试官问我 “A + B” 算法,我懵了

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

逆向学习-UltraEdit安装

一、相关软件安装 1、UltraEdit 1.1、简介 UltraEdit 是当今销量第一且最为强大的一款高性价比的文本编辑器。尽管不是一款开源软件,但多数程序员都使用这款编辑器,支持多种编程语言的语法着色和外挂编译功能。UltraEdit 是理想的文本、HTML 和十六进…

最新|全新风格原创YOLOv7、YOLOv5和YOLOX网络结构解析图

💡本篇分享一下个人绘制的原创全新风格YOLOv7网络结构图、YOLOv5网络结构图和YOLOX网络结构图 个人感觉搭配还行,看着比较直观,所以开源分享一下。 文章目录YOLOv5 网络结构图(最新 推荐🔥🔥🔥)YOLOv7 网络…

【C++笔试强训】第十三天

🎇C笔试强训 博客主页:一起去看日落吗分享博主的C刷题日常,大家一起学习博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话:夜色难免微凉,前方必有曙光 🌞。 💦&a…

YOLOv5、v7改进之三十八:引入RepVGG模型结构

前 言:作为当前先进的深度学习目标检测算法YOLOv7,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv7的如何改进进行详…

基于javaweb的养老院管理系统(java+springboot+thymeleaf+html+js+mysql)

基于javaweb的养老院管理系统(javaspringbootthymeleafhtmljsmysql) 运行环境 Java≥8、MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功能说明 基于…

synchronized到底锁的是谁、何时生效

一、synchronized锁的几种形式 synchronized修饰普通方法synchronized修饰静态方法synchronized修饰代码块 1、synchronized修饰普通方法 简单示例 public class Test{private String age;private String name;public synchronized void print(String arg1, String arg2) {…

零代码,让业务人员实现应用创造自由

摘要:以汽车营销场景为例,从AppCube零代码和业务大屏入手,帮助开发者更好地理解AppCube低代码和零代码异同点,在实际使用时能更快选取更合适的工具能力,实现应用构建效率最大化。本文分享自华为云社区《DTT第8期直播回…

超级详细的Vue安装与配置教程

Vue web前端三大主流框架之一,是一套用于构建用户界面的渐进式框架,下面这篇文章主要给大家介绍了关于Vue安装与配置教程的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下 − 目录 一、下载和安装Vue二、创建全局安装目录和缓存日志目录三、配置环境变量 1. 环境…

【k哥爬虫普法】简历大数据公司被查封,个人隐私是红线!

我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用…

mysql忘记密码怎么办(附免密登录和修改密码)

前言 博主个人社区:开发与算法学习社区 博主个人主页:Killing Vibe的博客 欢迎大家加入,一起交流学习~~ 一、打开MySQL(能打开请跳过此步) 第一种:安装完MySQL之后,MySQL提供大家的客户端程序 …

DASCTF X GFCTF 2022十月挑战赛-hade_waibo

这是一个非预期解&#xff0c;但是得到出题人的赞许&#xff0c;莫名开心&#xff0c;哈哈&#xff1a; cancan need处存在任意文件读取 <!DOCTYPE html> <html lang"en" class"no-js"> <head> <meta charset"UTF-8" />…

引爆记忆广告语盘点

在数字化、流量红利见顶、营销环境巨变的进程中&#xff0c;品牌传播的节奏从快到稳。品牌出圈更需要产品、渠道、内容、文化等方面的共振影响&#xff0c;其中广告语作为品牌定位和价值主张的核心载体&#xff0c;是连接消费者心智的重要品牌资产。 根据益普索Ipsos《引爆记忆…

uni-app、小程序项目分包经验之谈与天坑异常:RangeError: Maximum call stack size exceeded

小程序分包经验之谈与天坑异常&#xff1a;RangeError: Maximum call stack size exceeded小程序分包概述分包配置参数&#xff1a;subPackages分包预载配置参数&#xff1a;preloadRule如何使用实际小程序项目分包项目结构配置分包配置分包预载天坑异常场景分析猜想尝试解决解…

springboot配置多个数据源

一.多数据源的典型使用场景 在实际开发中,经常可能遇到在一个应用中可能要访问多个数据库多的情况,以下是两种典型场景 1.业务复杂 数据分布在不同的数据库中,数据库拆了,应用没拆.一个公司多个子项目,各用各的数据库,设计数据共享 2.读写分离 为了解决数据库的性能瓶颈(读…

C++内存管理和模板

目录 内存管理 new T[N] new和delete关键字的总结&#xff1a; 定位new表达式(placement-new)&#xff1a; 作用&#xff1a; 使用格式&#xff1a; 使用场景&#xff1a; 实例&#xff1a; 调用析构函数的两个方法&#xff1a; 池化技术&#xff1a; 面试题&#xff1…

Unity 分享 功能 用Unity Native Share Plugin 实现链接、图片、视频等文件的分享+ 安卓 Ios 都可以,代码图文详解

Unity 分享 功能 用Unity Native Share Plugin 实现链接、图片、视频等文件的分享 安卓 Ios 都可以&#xff0c;代码图文详解前言环境效果一、Unity Native Share Plugin导入1.下载2.导入二、案例1.分享文字1.脚本2.发包注意2.分享视频1.完善下刚才的脚本2.给复制按钮添加点击事…

【Linux】Linux环境搭建

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《学会Linux》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;Linux的介…

【QT 自研上位机 与 STM32F103下位机联调>>>通信测试-基础样例-联合文章】

【QT 自研上位机 与 STM32F103下位机联调>>>通信测试-基础样例-联合文章】1、概述2、实验环境3、联合文章&#xff08;1&#xff09;对于上位机&#xff0c;可以参照如下例子&#xff08;2&#xff09;对于下位机&#xff0c;可以参照如下例子4、QT上位机部分第一步&a…