跳转到内容

获取文本

获取文本 用于读取网页元素上可见的文本内容,并保存到变量。它常用于从页面中提取标题、数量、状态、提示信息、订单号、表格字段等结果。

指令标识:GetText
指令类型:网页指令
指令描述:获取网页元素文本信息

工作流支持「可视化编排」和「代码编排」两种创建方式。获取文本 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。

方式怎么用适合人群
可视化编排(推荐先学)拖入「获取文本」节点,捕获元素、设置输出变量大多数用户,零代码,适合快速搭建和调试
代码编排(Python)在脚本中调用 result = bots.getText(selector="...", outKey="result")熟悉代码、需要复用脚本或批量生成流程的用户

第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。

获取文本
  • 读取页面上的数量、标题、状态、提示语。
  • 从后台页面提取订单号、审批结果、报表字段。
  • 点击或搜索后,获取页面返回结果。
  • 在结束节点输出业务结果,供定时任务或智能助理复用。

如果要读取元素属性,例如链接地址、图片地址、输入框 value,可以使用 获取元素属性

  • 页面已经进入要读取内容的状态。
  • 目标文本已经渲染完成,必要时先使用等待节点。
  • 捕获的是包含目标文字的元素,不是外层过大的容器或无关区域。
  • 如果目标在 iframe 中,需要配置 iframe 页面定位器。
  • 使用正则时,先确认完整文本是什么。
  1. 先让页面进入目标状态,例如查询完成、详情页打开、弹窗出现。
  2. 在读取前添加 等待元素存在
  3. 捕获要读取的文本元素。
  4. 将结果保存至 中填写变量名,例如 result_text
  5. 运行后查看变量值是否和页面显示一致。

新手建议先读取完整文本,确认结果正确后,再用正则表达式提取其中一部分。

一个数据读取 RPA 可以这样配置:

  1. 打开网页:进入目标网站。
  2. 点击元素:进入目标列表或详情页。
  3. 等待元素存在:等待结果区域出现。
  4. 获取文本:读取岗位数量、订单状态或提示信息,保存为 result_text
  5. 结束节点:输出 result_text
界面名称代码属性名类型必填默认值说明
元素选择器selectorString-用于定位要读取的文本元素,不能为空,支持 CSS 选择器、XPath 等。建议从元素库捕获。
正则表达式regexString-高级参数,从完整文本中提取匹配内容。有捕获组时返回第一个捕获组,否则返回完整匹配。
iframe 页面定位器frameSelectorString-高级参数,目标文本在 iframe 内时填写其 xpath。
查找元素高级配置findElementOptionsJSON-高级参数,查找元素的高级配置,可在其中设置定位超时时间(timeout)等,以 JSON 配置。
界面名称代码属性名类型必填说明
将结果保存至outKeyString建议填写保存读取到的文本内容。返回元素的 innerText,不包含 HTML 标签。默认找不到元素时节点会报错;仅当节点「失败处理」设为「可选 / 继续」时,才会输出空字符串并继续执行。
做法适合场景示例
读取完整文本新手调试、结果本身就是完整文案提交成功
使用正则文本中只需要一部分字段共 128 条记录 提取 128

建议先读取完整文本,确认元素选对后,再增加正则。

  • 获取文本节点执行成功。
  • 输出变量不是空值。
  • 输出内容与页面显示一致。
  • 如果配置了正则,输出内容符合预期格式。
获取文本
现象可能原因处理建议
日志提示元素未找到、节点报错中止页面未到目标状态或定位失效先等待目标区域,再重新捕获;默认找不到元素会报错中止,仅当失败处理设为「可选 / 继续」才会输出空字符串
输出为空选中的元素没有 innerText 或文本尚未渲染换选更准确的文本元素,或增加等待
正则后为空正则没有匹配到内容先去掉正则读取完整文本,再调整表达式
读到多余文本捕获了过大的父容器重新捕获更小的文本节点

代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。

bots.openUrl(url="https://example.com")
# 读取文本,返回值即读取结果
result = bots.getText(
selector="//*[@id='__next']/div[2]/div[2]/section/div[1]/h1",
findElementOptions={"timeout": 5000},
outKey="result",
)
print(result)

如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。

Q1:返回的文本包含HTML标签吗?

Section titled “Q1:返回的文本包含HTML标签吗?”

A: 不包含。该指令返回的是元素的innerText,不包含任何HTML标签。如果需要获取HTML内容,应使用 获取元素属性 指令获取 innerHTML 属性。

Q2:如果使用正则表达式但没有匹配到内容会怎样?

Section titled “Q2:如果使用正则表达式但没有匹配到内容会怎样?”

A: 如果正则表达式没有匹配到内容,会返回空字符串,不会抛出异常。建议在使用正则提取后检查结果是否为空。

Q3:正则表达式中的捕获组如何工作?

Section titled “Q3:正则表达式中的捕获组如何工作?”

A: 如果正则表达式中有捕获组(用括号括起来的部分),会返回第一个捕获组的内容;如果没有捕获组,会返回完整的匹配内容。例如:(\d+) 会返回捕获组内的数字。

A: 该节点失败处理默认为「报错中止(STOP_ON_FAILURE)」,找不到元素时会报错并中断流程;仅当把节点失败处理设为「可选 / 继续」时,才会输出空字符串并继续执行。为避免误判,建议先使用 等待元素存在