编写RPA机器人工程师必备Xpath表达式知识
RPA机器人开发专属 | 实用定位+避坑技巧+速查手册
快速导航
一、XPath与RPA的关联
XPath(XML Path Language)是一门用于**定位XML/HTML文档中节点(元素)**的语言,而RPA机器人开发中,核心需求是**定位Web/桌面端的页面元素**(如按钮、输入框、下拉框、表格单元格),XPath是实现该需求的**最灵活、最通用**的方式(比CSS选择器适配场景更多,比元素ID/Class更稳定)。
核心说明:主流RPA工具(UiPath、影刀RPA、云扩RPA、安翼RPA、实在RPA)均原生支持XPath 1.0,无需学习高版本(2.0/3.1),本教程所有内容均基于XPath 1.0,可直接在RPA工具中使用。
二、核心基础概念
2.1 节点类型(RPA仅关注元素节点)
HTML文档中XPath的节点包含元素节点(如<input>、<button>)、属性节点(如id="username")、文本节点等,RPA开发中仅需关注「元素节点」,所有定位最终都是为了找到目标元素节点。
2.2 绝对XPath vs 相对XPath(核心区分,RPA禁用绝对路径)
这是XPath最关键的概念,直接决定RPA机器人的**稳定性**,必须严格遵守:
- 绝对XPath:从HTML根节点<html>开始,以
/开头,路径是「根→父→子→孙」的完整层级,如/html/body/div[1]/div[2]/input。 - 相对XPath:从目标元素的**任意父节点**(或自身)开始,以
//开头,无需关注完整层级,如//input[@id="username"]。
RPA强制规范:禁止使用绝对XPath!因为页面结构只要有微小变化(如新增/删除一个div),绝对路径就会失效,导致机器人报「元素未找到」错误;相对XPath仅关注目标元素的自身属性/关联特征,稳定性远高于绝对路径。
2.3 基本符号(必记)
| 符号 | 含义 | RPA使用场景 |
|---|---|---|
// | 从文档任意位置开始查找(相对路径核心) | 所有RPA定位的默认开头 |
/ | 子节点层级分隔(绝对路径开头/相对路径内层级) | 定位子元素时使用,如//div[@class="form"]/input |
. |