Skip to content

元素定位与选择器

点击、输入、悬停和读取页面内容等节点,需要先确定要操作哪个网页元素。RPA Plus 通常支持重新定位页面元素,或引用上游节点已经保存的元素对象。

选择元素来源

涉及页面元素的节点会根据功能提供以下来源:

来源工作方式适用场景
元素选择器节点执行时重新在当前页面查找元素。页面结构稳定,或每次都要查找当前页面中的目标。
储存的元素对象使用上游节点输出的 element 类型变量。已经获取焦点元素、DOM 对象或循环中的当前元素。

选择储存的元素对象后,只需要选择对应变量,不必再次填写选择器。

选择器定位配置
选择器定位配置
储存的元素对象配置
储存的元素对象配置

选择定位方式

Selector

Selector 使用 CSS 选择器定位元素,适合页面中存在稳定 id、类名或属性的情况。

css
#login-button
.product-card
input[name="email"]

优先使用稳定、能表达业务含义的属性。避免依赖经常变化的随机类名或过长的层级路径。

XPath

XPath 可以根据层级、属性或文字关系定位元素,适合 CSS 选择器难以表达的结构。

text
//button[@type="submit"]
//div[@data-role="product"]//span[@class="price"]

XPath 对页面结构变化较敏感。使用相对路径并结合稳定属性,可以减少页面小幅调整造成的失败。

需要从网页中取得 Selector 或 XPath 时,请参阅 获取 Selector 和 XPath

文字内容

文字定位根据页面上显示的文本查找元素,适合按钮、菜单和固定标签。

text
立即登录
提交订单

如果页面中有多个相同文字,需要结合元素序号,或改用更精确的 Selector、XPath。

Selector 定位配置
Selector 定位配置
XPath 定位配置
XPath 定位配置
文字内容定位配置
文字内容定位配置
图示规则适用场景使用建议
Selector页面存在稳定的 id、类名或属性。优先选择业务属性,避免随机类名。
XPath需要表达层级、属性或文字关系。使用相对路径,减少页面结构变化影响。
文字内容按钮、菜单或标签具有稳定且较唯一的文字。文字重复时结合元素序号或改用更精确规则。

选择匹配元素

同一个选择器可能匹配多个元素。可以使用以下方式确定本次操作对象:

固定序号

填写目标元素在匹配结果中的自然顺序,例如 1 表示第一个匹配元素。固定序号支持使用流程变量。

适用于页面结构和排列顺序稳定的场景,例如点击搜索结果中的第 1 项。

区间随机

填写最小和最大序号,运行时在该范围内随机选择一个匹配元素。例如最小值为 1、最大值为 5 时,会从前五个匹配结果中随机选择。

使用区间随机前,确保页面中存在足够数量的匹配元素。否则应缩小最大序号,或先使用等待节点确认页面内容已经加载。

固定序号配置
固定序号配置
区间随机配置
区间随机配置
图示配置选择结果
固定第 2固定序号填写 2每次选择匹配结果中的第二个元素。
随机 1-3最小值填写 1,最大值填写 3每次从前三个匹配元素中随机选择一个。

在选择器中使用变量

标记为支持变量的选择器输入框可以插入系统变量或当前节点可见的流程变量。例如,变量 product_id 的值为 10001 时,可以组合出:

css
[data-product-id="${product_id}"]

通过字段旁的变量按钮插入变量,避免手动输入错误格式。只有当前节点上游已经产生的流程变量才会出现在变量列表中。

使用已保存的元素对象

以下节点可以产生元素对象:

  • 获取元素数据 选择 DOM 对象等元素类结果时。
  • 当前焦点元素 获取页面当前获得焦点的元素时。
  • For 循环元素 提取当前循环元素的 DOM 对象时。

后续支持元素对象的节点可以直接选择该变量,例如:

text
获取元素数据 → 点击元素

元素对象不是普通文本,也不是可以手动编写的 JSON。它代表本次页面会话中的元素,只能在产生它的下游路径中使用。

引用已保存元素对象
引用已保存元素对象

常见使用场景

输入账号

  1. 添加 输入内容 节点。
  2. 元素来源选择元素选择器。
  3. 定位类型选择 Selector。
  4. 选择器填写 input[name="username"]
  5. 输入内容引用账号变量。

点击相同列表中的指定项

  1. 使用 .result-item .open-button 匹配所有打开按钮。
  2. 元素顺序选择固定序号。
  3. 填写 1,先验证第一个结果。
  4. 调试通过后,再按业务需要改为变量或区间随机。

操作当前焦点元素

  1. 使用 当前焦点元素,把结果保存到 focused_element
  2. 在下游 输入内容点击元素 节点中选择储存的元素对象。
  3. 选择 focused_element,无需填写 Selector 或 XPath。

提高定位稳定性

  • 优先选择业务属性,例如 namedata-* 或稳定的 id
  • 避免使用随机生成的类名和绝对 XPath。
  • 页面加载较慢时,在操作前添加 等待元素出现
  • 元素位于 iframe 中时,先确认获取或定位配置指向正确的页面上下文。
  • 同一选择器匹配多个元素时,明确配置固定序号或区间随机。
  • 页面结构调整后重新调试,不要只依赖之前成功的选择器。

常见问题

调试时提示找不到元素

检查页面是否已经完成跳转、选择器是否能匹配当前页面,以及目标元素是否位于可见状态。可以先添加 等待元素出现,并适当增加超时时间。

选择器匹配了错误元素

缩小 Selector 或 XPath 范围,并检查元素序号。文字内容重复时,建议改用稳定属性定位。

元素对象变量无法选择

确认上游节点输出的是 element 类型,并且当前节点位于该节点的下游可达路径。普通字符串、对象或下游节点产生的变量不会出现在元素对象列表中。

页面更新后选择器失效

重新检查页面 DOM,改用更稳定的属性。对经常变化的列表,尽量选择列表容器内的相对规则,减少对完整层级和位置的依赖。

相关内容